Function at 0x48a590
Capabilities:
Authenticate hmac
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xa4
push ebx
mov ebx, dword [esp + 0xbc]
push ebp
mov ebp, dword [esp + 0xb0]
push esi
mov esi, dword [esp + 0xbc]
push edi
mov dword [esp + 0x48], 0
mov edx, dword [esi + 0x1ec]
lea eax, [esi + 0x50]
mov dword [esp + 0x70], eax
mov eax, dword [ebp]
mov dword [esp + 0x60], eax
mov eax, dword [ebx + 0x48]
mov dword [esp + 0x2c], eax
movzx eax, byte [ebx + 0x34]
lea ecx, [eax + eax*8]
mov eax, dword [esi + 4]
lea eax, [eax + ecx*8]
add eax, 8
mov dword [esp + 0x6c], eax
mov edi, dword [eax + 0x2c]
xor eax, eax
mov dword [esp + 0x38], edi
test edx, edx
jle 0x48a610
lea ecx, [esi + 0x1f0]
lea esp, [esp]
cmp dword [ecx], edi
je 0x48a6fe
inc eax
add ecx, 4
cmp eax, edx
jl 0x48a600
xor ecx, ecx
xor edx, edx
not ecx
not edx
and ecx, dword [esp + 0xcc]
and edx, dword [esp + 0xd0]
mov dword [ebx + 0x50], ecx
mov dword [ebx + 0x54], edx
mov eax, dword [esi + 0x48]
mov edx, dword [esi + 0x4c]
mov esi, dword [esp + 0xc4]
mov ecx, esi
call fcn.004aaba0
mov edi, dword [ebp + 0x38]
and eax, 1
dec edi
mov dword [esp + 0x34], eax
mov dword [ebp + 0x38], edi
mov dword [ebx + 0x10], edi
mov dword [ebx + 0xc], edi
mov eax, dword [ebp + 0x38]
dec eax
mov dword [esp + 0x40], edi
mov dword [ebp + 0x38], eax
cmp byte [ebx + 0x34], 0
mov dword [ebx + 0x18], eax
mov ebx, dword [esp + 0xbc]
mov dword [esp + 0x7c], eax
jbe 0x48a69b
mov ecx, dword [esp + 0x6c]
test byte [ecx + 0x24], 8
je 0x48a69b
mov eax, dword [ebp + 0x2c]
mov ecx, dword [esp + 0xc8]
inc eax
push eax
push 0
push 0x45
mov dword [ebp + 0x2c], eax
push ebx
mov dword [ecx], eax
call fcn.0047a1c0
add esp, 0x10
mov ecx, esi
test esi, esi
jle 0x48a6c0
mov edx, dword [esp + 0xc0]
imul eax, esi, 0x58
add edx, 0x2f0
add eax, edx
cmp dword [eax], 0
jne 0x48a6c0
dec ecx
sub eax, 0x58
test ecx, ecx
jg 0x48a6b3
imul eax, ecx, 0x58
mov ecx, dword [esp + 0xc0]
mov ebp, dword [eax + ecx + 0x2fc]
mov eax, dword [esp + 0x6c]
test byte [eax + 0x28], 0x10
je 0x48a7fa
mov ecx, dword [ebx + 0x6c]
mov esi, dword [eax + 0x1c]
mov edx, dword [eax + 0x18]
cmp dword [ebx + 0x70], ecx
jg 0x48a718
push edx
push 0
push esi
push 0xd
push ebx
call fcn.00437ce0
add esp, 0x14
jmp 0x48a743
xor ecx, ecx
xor edx, edx
bts ecx, eax
cmp eax, 0x20
cmovae edx, ecx
xor ecx, edx
cmp eax, 0x40
cmovae edx, ecx
jmp 0x48a614
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4], 0xd
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], edx
jg 0x48a75e
push 0
push edi
push esi
push 0xe
push ebx
call fcn.00437ce0
add esp, 0x14
mov edx, eax
jmp 0x48a789
lea eax, [edx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4], 0xe
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0xc8]
mov dword [eax + 0x3c], edx
mov byte [eax + 0x35], 0xb
xor eax, eax
mov edx, dword [esp + 0x70]
neg eax
sbb ecx, ecx
add ecx, 2
mov dword [esp + 0x28], ecx
mov ebp, dword [edx + 0xc]
xor eax, eax
mov esi, dword [edx + 0x14]
mov dword [esp + 0x14], eax
mov dword [esp + 0x50], ebp
test ebp, ebp
jle 0x48c531
movzx edx, word [esi + 0xa]
xor edi, edi
test dl, 6
jne 0x48c513
mov ebp, dword [esp + 0xc8]
mov ecx, dword [esi + 0x28]
mov eax, dword [esi + 0x2c]
and ecx, dword [ebp + 0x50]
and eax, dword [ebp + 0x54]
or ecx, eax
je 0x48c381
mov eax, dword [esp + 0xc0]
or dword [eax + 0x30], 2
jmp 0x48c50f
mov edi, dword [esp + 0x2c]
mov edx, dword [edi + 0x24]
test edx, 0x400
je 0x48acb0
movzx ebp, word [edi + 0x28]
lea ecx, [ebp + 2]
cmp ecx, 1
jne 0x48a840
mov edx, dword [esp + 0xb8]
mov al, byte [edx + 0x13]
test al, al
jne 0x48a82f
inc dword [edx + 0x2c]
mov edi, dword [edx + 0x2c]
jmp 0x48a869
dec al
mov byte [edx + 0x13], al
movzx eax, al
mov edi, dword [edx + eax*4 + 0x94]
jmp 0x48a869
mov esi, dword [esp + 0xb8]
mov edx, dword [esi + 0x1c]
mov edi, dword [esi + 0x20]
cmp ecx, edx
jg 0x48a85e
lea eax, [edi + ecx]
sub edx, ecx
mov dword [esi + 0x20], eax
mov dword [esi + 0x1c], edx
jmp 0x48a869
mov eax, dword [esi + 0x2c]
lea edi, [eax + 1]
add eax, ecx
mov dword [esi + 0x2c], eax
mov edx, dword [esp + 0xc8]
xor esi, esi
mov eax, dword [edx + 0xc]
mov dword [esp + 0x24], eax
test ebp, ebp
je 0x48a8e2
mov ebx, dword [esp + 0xb8]
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + esi*4]
test eax, eax
je 0x48a8d6
lea ecx, [edi + 2]
add ecx, esi
test byte [eax + 0xc], 1
je 0x48a8be
push ecx
push dword [esp + 0x38]
push esi
push edx
push eax
push ebx
call fcn.00429170
mov edx, dword [esp + 0xe0]
add esp, 0x18
mov eax, dword [edx + 0x10]
mov dword [esp + 0x24], eax
jmp 0x48a8d6
mov eax, dword [eax]
push 1
push ecx
push dword [eax + 0x10]
push ebx
call fcn.00429840
mov edx, dword [esp + 0xd8]
add esp, 0x10
inc esi
cmp esi, ebp
jl 0x48a884
mov ebx, dword [esp + 0xbc]
mov esi, dword [esp + 0x2c]
mov ecx, dword [ebx + 0x6c]
mov edx, dword [esi + 0x18]
cmp dword [ebx + 0x70], ecx
jg 0x48a902
push 0
push edi
push edx
push 0x45
push ebx
call fcn.00437ce0
add esp, 0x14
jmp 0x48a92d
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4], 0x45
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [ebx + 0x6c]
lea edx, [edi + 1]
cmp dword [ebx + 0x70], ecx
jg 0x48a949
push 0
push edx
push ebp
push 0x45
push ebx
call fcn.00437ce0
add esp, 0x14
jmp 0x48a978
mov esi, dword [esp + 0x2c]
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4], 0x45
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [ebx + 0x6c]
or eax, 0xffffffff
cmp byte [esi + 0x1c], 0
mov ecx, 0xfffffff9
mov esi, dword [esi + 0x20]
cmovne eax, ecx
mov dword [esp + 0x5c], eax
cmp dword [ebx + 0x70], edx
jg 0x48a9ae
push edi
push dword [esp + 0x28]
push dword [esp + 0x40]
push 9
push ebx
call fcn.00437ce0
add esp, 0x14
mov edx, eax
jmp 0x48a9e4
lea eax, [edx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [ebx + 0x68]
mov ebx, dword [esp + 0x38]
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x24]
mov dword [eax + ecx*4 + 8], ebx
mov ebx, dword [esp + 0xbc]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 0xc], edi
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [ebx]
cmp byte [ecx + 0x53], 0
je 0x48a9fd
mov eax, dword [esp + 0x5c]
push esi
push eax
push ecx
call fcn.004350e0
add esp, 0xc
jmp 0x48aa35
test edx, edx
jns 0x48aa05
mov edx, dword [ebx + 0x6c]
dec edx
mov eax, dword [ebx + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea ecx, [eax + ecx*4]
jne 0x48aa25
test esi, esi
je 0x48aa35
mov eax, dword [esp + 0x5c]
mov dword [ecx + 0x10], esi
mov byte [ecx + 1], al
jmp 0x48aa35
mov eax, dword [esp + 0x5c]
push eax
push esi
push ecx
push ebx
call fcn.00494b80
add esp, 0x10
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x60]
mov byte [edx + 0x1c], 0
cmp byte [eax + 0x53], 0
je 0x48aa4e
mov dword [edx + 0x20], 0
mov ecx, dword [esp + 0xc8]
mov esi, dword [esp + 0xc0]
mov eax, dword [esp + 0x38]
mov dword [ecx + 0x38], eax
mov eax, 0x3d
cmp byte [esi + 0x2e], 0
mov esi, 0xb0
cmovne eax, esi
add ebp, 0xffffffff
mov esi, dword [ecx + 0x40]
mov byte [ecx + 0x35], al
mov eax, dword [ebx + 0x6c]
mov dword [ecx + 0x3c], eax
js 0x48a797
lea ecx, [ebp + 2]
add ecx, edi
mov dword [esp + 0x1c], ecx
mov eax, dword [edx + 0x30]
mov edi, dword [eax + ebp*4]
lea eax, [esi - 1]
mov dword [esp + 0x40], edi
mov dx, word [edi + 0xc]
and dx, 1
cmove eax, esi
mov esi, eax
mov dword [esp + 0x64], esi
cmp ebp, 0x10
jae 0x48aae0
mov eax, dword [esp + 0x2c]
mov cx, bp
mov ax, word [eax + 0x1e]
shr ax, cl
test al, 1
je 0x48aadc
push edi
push dword [esp + 0xcc]
call fcn.0042d870
add esp, 8
jmp 0x48ac95
mov ecx, dword [esp + 0x1c]
test dx, dx
je 0x48ac99
mov eax, dword [edi]
mov ecx, dword [eax + 0xc]
mov al, byte [ecx]
cmp al, 0xaf
jne 0x48aaf7
mov al, byte [ecx + 2]
cmp al, 0xb0
jne 0x48ab00
mov eax, dword [ecx + 0x14]
jmp 0x48ab0a
cmp al, 0x89
jne 0x48ab13
mov eax, dword [ecx + 0x14]
mov eax, dword [eax + 0x1c]
cmp dword [eax], 1
jne 0x48ac95
mov eax, dword [esp + 0x60]
cmp byte [eax + 0x53], 0
jne 0x48abb4
mov eax, dword [esp + 0xc8]
lea ecx, [esi + esi*4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4 + 4]
test ecx, ecx
jns 0x48ab3a
mov ecx, dword [ebx + 0x6c]
dec ecx
mov eax, dword [ebx]
cmp byte [eax + 0x53], 0
je 0x48ab49
mov eax, 0x4e89a4
jmp 0x48ab52
mov eax, dword [ebx + 0x68]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov edx, dword [eax + 0xc]
mov esi, dword [eax + 8]
mov edi, dword [eax + 4]
mov al, byte [eax]
mov ecx, dword [ebx + 0x6c]
mov byte [esp + 0x33], al
cmp dword [ebx + 0x70], ecx
jg 0x48ab7b
push edx
push esi
push edi
movzx eax, al
push eax
push ebx
call fcn.00437ce0
add esp, 0x14
jmp 0x48abb0
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x68]
mov bl, byte [esp + 0x33]
mov byte [eax + ecx*4], bl
xor ebx, ebx
mov word [eax + ecx*4 + 2], bx
mov dword [eax + ecx*4 + 0x10], ebx
mov byte [eax + ecx*4 + 1], bl
mov ebx, dword [esp + 0xbc]
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], edx
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0xb8]
push 0
push 0x34
push dword [eax]
call fcn.00455fb0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x48ac91
push 0x34
push 0
push esi
call fcn.004ac5e0
or eax, 0xffffffff
mov byte [esi], 0x35
push esi
mov word [esi + 0x22], ax
call fcn.00431990
mov ecx, dword [esp + 0xc8]
add esp, 0x10
mov eax, dword [ecx]
mov eax, dword [eax + 0x7c]
cmp dword [esi + 0x18], eax
jle 0x48ac10
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ecx
call fcn.00457ce0
add esp, 0xc
mov eax, dword [edi]
push 0
push 0x35
push dword [esp + 0x68]
mov eax, dword [eax + 0xc]
mov dword [esi + 0xc], eax
call fcn.00455fb0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x48ac7a
push 0x34
push 0
push edi
call fcn.004ac5e0
or eax, 0xffffffff
mov byte [edi], 0xaf
mov word [edi + 0x22], ax
lea eax, [edi + 0x34]
mov dword [edi + 8], eax
mov byte [eax], 0
mov eax, dword [esp + 0x28]
mov dword [edi + 0x18], 1
mov dword [esi + 0x10], edi
mov dword [edi + 0x1c], eax
mov eax, dword [esp + 0xd4]
push 0x10
push dword [eax + 0x18]
push esi
push dword [esp + 0xd0]
call fcn.0045b9f0
add esp, 0x1c
jmp 0x48ac7d
mov dword [esi + 0x10], edi
push esi
push dword [esp + 0x64]
mov dword [esi + 0xc], 0
call fcn.0045b700
add esp, 8
mov esi, dword [esp + 0x64]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x2c]
dec ecx
sub ebp, 1
mov dword [esp + 0x1c], ecx
jns 0x48aa92
jmp 0x48a797
test dl, 5
setne cl
bt edx, 8
setb al
test al, cl
je 0x48ad86
mov eax, dword [edi + 0x30]
mov ebp, dword [esp + 0xb8]
mov esi, dword [eax]
inc dword [ebp + 0x2c]
mov edi, dword [ebp + 0x2c]
push edi
push dword [esp + 0x38]
push 0
push dword [esp + 0xd4]
push esi
push ebp
call fcn.00429170
mov edx, eax
add esp, 0x18
cmp edx, edi
je 0x48ad0d
test edi, edi
je 0x48ad0d
mov al, byte [ebp + 0x13]
cmp al, 8
jae 0x48ad0d
movzx eax, al
mov dword [ebp + eax*4 + 0x94], edi
inc byte [ebp + 0x13]
mov ebp, dword [esp + 0xc8]
mov ecx, dword [ebx + 0x6c]
mov edi, dword [ebp + 0x10]
cmp dword [ebx + 0x70], ecx
jg 0x48ad32
push edx
push edi
push dword [esp + 0x40]
push 0x1f
push ebx
call fcn.00437ce0
add esp, 0x14
jmp 0x48ad64
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x68]
mov ebx, dword [esp + 0x38]
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0xbc]
mov dword [eax + ecx*4], 0x1f
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov byte [ebp + 0x35], 0xb0
mov ecx, dword [esi + 0x28]
mov eax, dword [esi + 0x2c]
and ecx, dword [ebp + 0x50]
and eax, dword [ebp + 0x54]
or ecx, eax
jne 0x48a797
or word [esi + 0xa], 4
jmp 0x48a797
mov eax, edx
and eax, 0x102
cmp eax, 0x102
jne 0x48afd0
xor edi, edi
mov dword [esp + 0x24], 0xb0
xor esi, esi
mov dword [esp + 0x64], 0
test dl, 0x20
je 0x48adbf
mov eax, dword [esp + 0x2c]
lea ecx, [edi + 4]
mov eax, dword [eax + 0x30]
mov esi, dword [eax]
jmp 0x48adc1
xor ecx, ecx
test dl, 0x10
je 0x48add0
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x30]
mov edi, dword [ecx + eax]
mov eax, dword [esp + 0x34]
test eax, eax
je 0x48ade2
mov eax, esi
mov esi, edi
mov edi, eax
mov eax, dword [esp + 0x34]
test esi, esi
je 0x48aeb8
mov ebp, dword [esi]
mov dword [esp + 0x14], 0x18161719
mov edx, dword [ebp + 0x10]
push edx
call fcn.0045c430
add esp, 4
test eax, eax
je 0x48ae4b
mov ecx, dword [esp + 0xb8]
mov al, byte [ecx + 0x13]
test al, al
jne 0x48ae1a
inc dword [ecx + 0x2c]
mov esi, dword [ecx + 0x2c]
jmp 0x48ae29
dec al
mov byte [ecx + 0x13], al
movzx eax, al
mov esi, dword [ecx + eax*4 + 0x94]
push 1
push esi
push dword [ebp + 0x10]
push ecx
call fcn.00429840
movzx eax, byte [ebp]
add esp, 0x10
inc eax
mov ecx, esi
and eax, 2
or eax, 1
mov al, byte [esp + eax + 0x14]
jmp 0x48ae81
lea eax, [esp + 0x50]
push eax
push edx
push dword [esp + 0xc0]
call fcn.0045b0e0
push esi
push dword [esp + 0xd8]
mov dword [esp + 0x3c], eax
call fcn.0042d870
movzx eax, byte [ebp]
add esp, 0x14
mov esi, dword [esp + 0x50]
mov ecx, dword [esp + 0x28]
mov al, byte [esp + eax - 0x22]
push ecx
push dword [esp + 0x44]
movzx eax, al
push dword [esp + 0x40]
push eax
push ebx
call fcn.0047a220
mov ecx, dword [esp + 0xcc]
add esp, 0x14
test esi, esi
je 0x48aed8
mov al, byte [ecx + 0x13]
cmp al, 8
jae 0x48aed8
movzx eax, al
mov dword [ecx + eax*4 + 0x94], esi
inc byte [ecx + 0x13]
jmp 0x48aed8
xor eax, 1
push ebp
push dword [esp + 0x3c]
lea eax, [eax*4 + 0x21]
push eax
push ebx
call fcn.0047a1c0
mov ecx, dword [esp + 0xc8]
add esp, 0x10
test edi, edi
je 0x48af52
mov esi, dword [edi]
inc dword [ecx + 0x2c]
mov eax, dword [ecx + 0x2c]
push 1
push eax
push dword [esi + 0x10]
mov dword [esp + 0x70], eax
push ecx
call fcn.00429840
mov ebp, dword [esi + 0x10]
push ebp
call fcn.0045c430
add esp, 0x14
test eax, eax
jne 0x48af26
mov al, byte [esi]
cmp al, 0x38
je 0x48af12
cmp al, 0x36
jne 0x48af26
mov eax, dword [esp + 0x34]
xor eax, 1
lea edx, [eax*2 + 0x37]
mov dword [esp + 0x24], edx
jmp 0x48af35
mov eax, dword [esp + 0x34]
lea eax, [eax*2 + 0x36]
mov dword [esp + 0x24], eax
push ebp
call fcn.0045c430
add esp, 4
test eax, eax
jne 0x48af52
push edi
push dword [esp + 0xcc]
call fcn.0042d870
add esp, 8
cmp dword [esp + 0x34], 0
mov edx, dword [esp + 0xc8]
mov ecx, dword [ebx + 0x6c]
sete al
mov edi, dword [esp + 0x24]
add al, 4
mov ebp, dword [esp + 0x38]
mov byte [edx + 0x35], al
mov dword [edx + 0x38], ebp
mov dword [edx + 0x3c], ecx
cmp edi, 0xb0
je 0x48a797
mov eax, dword [esp + 0xb8]
inc dword [eax + 0x2c]
mov esi, dword [eax + 0x2c]
push esi
push ebp
push 0x82
push ebx
call fcn.0047a1c0
push esi
push dword [esp + 0x54]
push dword [esp + 0x7c]
push edi
push ebx
call fcn.0047a220
mov eax, dword [ebx + 0x6c]
add esp, 0x24
test eax, eax
jle 0x48a797
lea ecx, [eax + eax*4]
mov edx, 0x53
mov eax, dword [ebx + 0x68]
mov word [eax + ecx*4 - 0x12], dx
jmp 0x48a797
test edx, 0x200
je 0x48ba70
movzx esi, word [edi + 0x1a]
movzx ebp, word [edi + 0x1c]
mov ecx, esi
movzx eax, word [edi + 0x18]
xor edi, edi
mov dword [esp + 0x74], ecx
mov ecx, ebp
mov dword [esp + 0x78], ecx
xor ecx, ecx
mov dword [esp + 0x58], ecx
mov byte [esp + 0x13], cl
mov byte [esp + 0x33], cl
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
movzx eax, ax
mov dword [esp + 0x3c], 0
mov ebx, dword [ecx + 0x20]
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0xbc]
mov dword [esp + 0x1c], 0
mov ecx, dword [ecx + 8]
mov dword [esp + 0x20], ecx
mov ecx, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x40], eax
test dl, 0x20
je 0x48b063
mov eax, dword [esp + 0x2c]
mov edi, esi
mov eax, dword [eax + 0x30]
mov eax, dword [eax + ecx*4]
inc ecx
mov dword [esp + 0x3c], eax
test dl, 0x10
je 0x48b130
mov eax, dword [esp + 0x2c]
cmp edi, ebp
mov dword [esp + 0x24], edx
cmova ebp, edi
mov eax, dword [eax + 0x30]
mov ecx, dword [eax + ecx*4]
mov eax, edx
mov edx, 0x100
mov dword [esp + 0x1c], ecx
test word [ecx + 0xa], dx
je 0x48b0e5
mov ecx, dword [esp + 0xb8]
mov esi, dword [esp + 0xc8]
mov eax, dword [ecx + 0x2c]
inc eax
push eax
push 1
push 0x45
mov dword [ecx + 0x2c], eax
push ebx
mov dword [esi + 0x2c], eax
call fcn.0047a1c0
mov eax, dword [ebx + 0x6c]
xor ecx, ecx
shl dword [esi + 0x2c], 1
add esp, 0x10
mov edx, dword [esp + 0x18]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x1c]
cmp byte [edx + eax], 1
mov eax, dword [esp + 0x2c]
sete cl
xor ecx, dword [esp + 0x34]
or dword [esi + 0x2c], ecx
mov eax, dword [eax + 0x24]
mov dword [esp + 0x24], eax
mov esi, dword [esp + 0x3c]
mov edx, eax
mov edi, ebp
test esi, esi
jne 0x48b134
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x18]
mov eax, dword [edx + 4]
movsx esi, word [eax + ecx*2]
test esi, esi
js 0x48b114
mov eax, dword [edx + 0xc]
lea ecx, [esi + esi*4]
mov eax, dword [eax + 4]
cmp byte [eax + ecx*4 + 0xc], 0
je 0x48b123
mov eax, dword [esp + 0x24]
mov edx, eax
mov edi, ebp
cmp esi, 0xfffffffe
jne 0x48b130
jmp 0x48b127
mov eax, dword [esp + 0x24]
mov byte [esp + 0x13], 1
mov edx, eax
mov edi, ebp
mov esi, dword [esp + 0x3c]
test dl, 0x30
jne 0x48b189
test edx, 0x80000
je 0x48b189
mov ebp, dword [esp + 0xb8]
mov edi, 1
mov eax, dword [esp + 0xc8]
mov byte [esp + 0x13], 1
inc dword [ebp + 0x2c]
cmp dword [eax], 0
mov ecx, dword [ebp + 0x2c]
mov dword [esp + 0x4c], ecx
mov dword [eax + 0x24], ecx
je 0x48b179
push ecx
push 0
push 0x45
push ebx
call fcn.0047a1c0
add esp, 0x10
mov ecx, dword [esp + 0xc8]
dec dword [ebp + 0x38]
mov eax, dword [ebp + 0x38]
mov dword [ecx + 0x28], eax
mov eax, dword [esp + 0x48]
mov ebp, dword [esp + 0x28]
movzx edx, word [eax + 0x32]
cmp bp, dx
jae 0x48b1b7
mov eax, dword [eax + 0x1c]
xor ecx, ecx
mov esi, dword [esp + 0x18]
cmp byte [esi + eax], cl
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x3c]
sete cl
cmp eax, ecx
je 0x48b1c4
jmp 0x48b1bb
mov eax, dword [esp + 0x34]
test eax, eax
je 0x48b1f5
cmp dx, bp
jne 0x48b1f5
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x1c], esi
mov esi, eax
mov al, byte [esp + 0x13]
mov byte [esp + 0x33], al
mov eax, dword [esp + 0x74]
movzx ecx, cx
movzx eax, al
mov dword [esp + 0x3c], esi
mov byte [esp + 0x13], 0
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], eax
cmp dword [esp + 0xc4], 0
jle 0x48b21e
mov eax, dword [esp + 0x2c]
test dword [eax + 0x24], 0x100000
je 0x48b21e
push dword [esp + 0x20]
push 0x83
push ebx
call fcn.0047a160
add esp, 0xc
lea eax, [esp + 0x5c]
push eax
push edi
push dword [esp + 0x3c]
mov edi, dword [esp + 0xd4]
push edi
push dword [esp + 0xc8]
call fcn.00428860
mov edx, dword [esp + 0x2c]
add esp, 0x14
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x48b2bc
cmp word [esp + 0x78], 0
je 0x48b2bc
lea edi, [eax + edx]
test edi, edi
jne 0x48b266
xor eax, eax
mov dword [esp + 0x58], eax
jmp 0x48b2b5
mov ecx, edi
lea edx, [ecx + 1]
jmp 0x48b270
mov al, byte [ecx]
inc ecx
test al, al
jne 0x48b270
mov eax, dword [esp + 0x60]
sub ecx, edx
push 0
lea esi, [ecx + 1]
push esi
test eax, eax
je 0x48b292
push eax
call fcn.00455fb0
add esp, 0xc
jmp 0x48b29a
call fcn.00466e30
add esp, 8
mov dword [esp + 0x58], eax
test eax, eax
je 0x48b2ad
push esi
push edi
push eax
call fcn.004ac060
add esp, 0xc
mov esi, dword [esp + 0x3c]
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0xc8]
mov ecx, dword [esp + 0x4c]
test ecx, ecx
je 0x48b2c9
mov eax, dword [edi + 0x28]
jmp 0x48b2cc
mov eax, dword [edi + 0x10]
mov dword [esp + 0x14], eax
test esi, esi
je 0x48b2e4
test byte [esi + 0xc], 0x28
jne 0x48b2e4
mov dword [esp + 0x54], 0
jmp 0x48b2f0
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x54], 1
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x48b306
test byte [eax + 0xc], 0x28
mov dword [esp + 0x24], 0
je 0x48b30e
mov dword [esp + 0x24], 1
test esi, esi
jne 0x48b359
test bp, bp
jne 0x48b359
xor eax, eax
movzx edx, bp
mov dword [esp + 0x28], eax
cmp byte [esp + 0x13], 0
mov edi, edx
je 0x48b42a
mov eax, dword [esp + 0x40]
xor esi, esi
add eax, dword [esp + 0x44]
push eax
push esi
push 0x48
push ebx
mov dword [esp + 0x64], esi
call fcn.0047a1c0
mov eax, dword [esp + 0x50]
lea ebp, [esi + 1]
add esp, 0x10
mov dword [esp + 0x18], eax
inc edi
jmp 0x48b45e
mov dword [esp + 0x28], 1
mov dword [esp + 0x64], edx
test esi, esi
je 0x48b320
mov eax, dword [esi]
mov ebp, dword [esp + 0x44]
add ebp, edx
mov esi, dword [eax + 0x10]
mov eax, dword [esp + 0x74]
movzx edi, ax
push edi
push ebp
push esi
push dword [esp + 0xc4]
call fcn.00429840
push dword [esp + 0x4c]
push dword [esp + 0xdc]
push ebx
call fcn.0049bed0
mov eax, dword [esp + 0x58]
add esp, 0x1c
test byte [eax + 0xa], 0x80
jne 0x48b3c5
push esi
call fcn.00458b90
add esp, 4
test eax, eax
je 0x48b3c5
push dword [esp + 0x14]
push ebp
push 0x32
push ebx
call fcn.0047a1c0
add esp, 0x10
mov ecx, dword [esp + 0x5c]
test ecx, ecx
je 0x48b3de
mov eax, dword [esp + 0x18]
add eax, ecx
push eax
push edi
push esi
call fcn.00493ab0
add esp, 0xc
add dword [esp + 0x64], edi
push esi
call fcn.0045c430
add esp, 4
test eax, eax
jne 0x48b412
push dword [esp + 0x3c]
push dword [esp + 0xcc]
call fcn.0042d870
mov edi, dword [esp + 0x6c]
add esp, 8
mov byte [esp + 0x13], 0
mov ebp, 1
jmp 0x48b45a
mov edi, dword [esp + 0x64]
mov ebp, 1
mov dword [esp + 0x54], 1
mov byte [esp + 0x13], 0
jmp 0x48b45a
mov esi, dword [esp + 0x40]
mov dword [esp + 0x18], esi
test ecx, ecx
je 0x48b456
mov eax, dword [esp + 0x44]
add eax, esi
push eax
push 0
push 0x48
push ebx
call fcn.0047a1c0
add esp, 0x10
mov dword [esp + 0x18], esi
mov ebp, 1
inc edi
jmp 0x48b45a
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x54]
movzx edx, byte [esp + 0x13]
mov eax, edi
mov ecx, dword [esp + 0x5c]
sub eax, edx
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x44]
test ecx, ecx
je 0x48b4bc
test eax, eax
jle 0x48b48c
jmp 0x48b480
cmp byte [ecx], 0x41
jg 0x48b48c
dec eax
inc edx
inc ecx
test eax, eax
jg 0x48b480
cmp eax, 1
jle 0x48b49e
cmp byte [eax + ecx - 1], 0x41
jg 0x48b4a2
dec eax
cmp eax, 1
jg 0x48b491
test eax, eax
jle 0x48b4bc
push eax
push ecx
push 0
push eax
mov eax, dword [esp + 0xc8]
push edx
push 0x5b
push dword [eax + 8]
call fcn.0047a280
add esp, 0x1c
mov eax, dword [esp + 0x2c]
movzx eax, word [eax + 0x2a]
test ax, ax
je 0x48b4d1
cmp edi, eax
je 0x48b599
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x48b4e7
push eax
push 1
push 0x45
push ebx
call fcn.0047a1c0
add esp, 0x10
mov ecx, dword [esp + 0x34]
lea eax, [esi + ebp*2]
movzx esi, byte [ecx + eax*2 + 0x4cf3d4]
mov eax, dword [esp + 0x2c]
test dword [eax + 0x24], 0x100000
je 0x48b536
cmp esi, 0x18
jne 0x48b536
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 8]
movsx ecx, word [eax]
mov eax, 0x66666667
add ecx, 9
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push 0x77
push ebx
call fcn.0047a160
add esp, 0xc
mov dword [esp + 0x50], eax
mov ebp, dword [esp + 0x14]
push edi
push dword [esp + 0x48]
push ebp
push dword [esp + 0x2c]
push esi
push ebx
call fcn.0047a300
mov eax, dword [esp + 0x64]
add esp, 0x18
test eax, eax
je 0x48b59d
mov eax, dword [ebx + 0x6c]
add eax, 2
push eax
push 0
push 0xb
push ebx
call fcn.0047a1c0
mov ecx, dword [esp + 0x44]
mov eax, edi
sub eax, dword [esp + 0x64]
push eax
push dword [esp + 0x58]
mov eax, 1
cmp eax, edi
push ebp
push dword [esp + 0x3c]
sbb eax, eax
and eax, 4
movzx eax, byte [eax + ecx + 0x4cf3d6]
push eax
push ebx
call fcn.0047a300
add esp, 0x28
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
mov esi, ebp
test ecx, ecx
je 0x48b6a6
mov eax, dword [ecx]
mov esi, dword [esp + 0x44]
add esi, dword [esp + 0x18]
mov ebp, dword [eax + 0x10]
mov eax, dword [esp + 0x78]
movzx edi, ax
push edi
push esi
push ebp
push dword [esp + 0xc4]
call fcn.00429840
push dword [esp + 0x2c]
push dword [esp + 0xdc]
push ebx
call fcn.0049bed0
mov eax, dword [esp + 0x38]
add esp, 0x1c
test byte [eax + 0xa], 0x80
jne 0x48b60d
push ebp
call fcn.00458b90
add esp, 4
test eax, eax
je 0x48b60d
push dword [esp + 0x14]
push esi
push 0x32
push ebx
call fcn.0047a1c0
add esp, 0x10
mov eax, dword [esp + 0x58]
test eax, eax
je 0x48b66c
push eax
push edi
push ebp
call fcn.00493ab0
mov ecx, dword [esp + 0x64]
add esp, 0xc
mov eax, edi
test edi, edi
je 0x48b63c
lea ebx, [ebx]
cmp byte [ecx], 0x41
jg 0x48b63c
dec eax
inc esi
inc ecx
test eax, eax
jg 0x48b630
cmp eax, 1
jle 0x48b64e
cmp byte [eax + ecx - 1], 0x41
jg 0x48b652
dec eax
cmp eax, 1
jg 0x48b641
test eax, eax
jle 0x48b66c
push eax
push ecx
push 0
push eax
mov eax, dword [esp + 0xc8]
push esi
push 0x5b
push dword [eax + 8]
call fcn.0047a280
add esp, 0x1c
mov esi, dword [esp + 0x18]
push ebp
add esi, edi
call fcn.0045c430
add esp, 4
test eax, eax
jne 0x48b698
push dword [esp + 0x1c]
push dword [esp + 0xcc]
call fcn.0042d870
mov ebp, dword [esp + 0x20]
add esp, 8
jmp 0x48b6ce
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x24], 1
jmp 0x48b6ce
cmp byte [esp + 0x33], 0
je 0x48b6ce
test eax, eax
jne 0x48b6cd
mov eax, dword [esp + 0x44]
add eax, ebp
push eax
push 0
push 0x48
push ebx
call fcn.0047a1c0
add esp, 0x10
mov dword [esp + 0x24], 0
inc esi
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x48b6e3
push eax
push dword [esp + 0x64]
call fcn.00455ea0
add esp, 8
mov edi, dword [esp + 0x58]
test edi, edi
je 0x48b79c
mov ecx, dword [esp + 0x60]
test ecx, ecx
je 0x48b747
cmp dword [ecx + 0x200], 0
je 0x48b70f
push edi
push ecx
call fcn.0043b030
add esp, 8
jmp 0x48b79c
cmp edi, dword [ecx + 0x154]
jae 0x48b747
cmp edi, dword [ecx + 0x14c]
jb 0x48b72f
mov eax, dword [ecx + 0x148]
mov dword [edi], eax
mov dword [ecx + 0x148], edi
jmp 0x48b79c
cmp edi, dword [ecx + 0x150]
jb 0x48b747
mov eax, dword [ecx + 0x140]
mov dword [edi], eax
mov dword [ecx + 0x140], edi
jmp 0x48b79c
cmp dword [0x4e6008], 0
je 0x48b792
mov eax, dword [0x4e86d8]
test eax, eax
je 0x48b763
push eax
call dword [0x4e6058]
add esp, 4
push edi
call dword [0x4e6034]
sub dword [0x4e8678], eax
dec dword [0x4e869c]
push edi
call dword [0x4e602c]
mov eax, dword [0x4e86d8]
add esp, 8
test eax, eax
je 0x48b79c
push eax
call dword [0x4e6060]
jmp 0x48b799
push edi
call dword [0x4e602c]
add esp, 4
mov edi, dword [esp + 0xc8]
mov eax, dword [ebx + 0x6c]
mov dword [edi + 0x3c], eax
test esi, esi
je 0x48b81a
mov ecx, dword [esp + 0x4c]
test ecx, ecx
je 0x48b7c8
mov eax, dword [ebx + 0x6c]
add eax, 3
push eax
push ecx
push 0x14
push ebx
call fcn.0047a1c0
add esp, 0x10
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x24]
push esi
push dword [esp + 0x48]
push dword [esp + 0x1c]
movzx eax, byte [eax + ecx*2 + 0x4cf114]
push dword [esp + 0x2c]
push eax
push ebx
call fcn.0047a300
mov ecx, dword [esp + 0x68]
add esp, 0x18
test ecx, ecx
je 0x48b81a
mov edx, dword [ebx + 0x6c]
jns 0x48b7ff
lea ecx, [edx - 1]
mov eax, dword [ebx]
cmp byte [eax + 0x53], 0
je 0x48b80e
mov eax, 0x4e89a4
jmp 0x48b817
mov eax, dword [ebx + 0x68]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov ecx, dword [esp + 0x4c]
test ecx, ecx
je 0x48b85f
mov eax, dword [ebx + 0x6c]
add eax, 2
push eax
push ecx
push 0x12
push ebx
call fcn.0047a1c0
mov ecx, dword [esp + 0x38]
lea eax, [ecx + esi]
mov esi, dword [esp + 0x30]
push eax
push dword [esp + 0x58]
mov eax, dword [esp + 0x4c]
push dword [esp + 0x2c]
push esi
movzx eax, byte [ecx + eax*2 + 0x4cf114]
push eax
push ebx
call fcn.0047a300
add esp, 0x28
jmp 0x48b863
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x24]
test eax, 0x40000
je 0x48b886
push ebp
push ebp
push esi
push 0x78
push ebx
call fcn.0047a220
mov eax, dword [esp + 0x40]
add esp, 0x14
mov eax, dword [eax + 0x24]
test al, 0x40
je 0x48b8a5
mov eax, dword [esp + 0xc0]
test byte [eax + 0x28], 0x20
jne 0x48b8a5
mov ecx, dword [esp + 0x48]
mov ebp, 1
jmp 0x48b9ed
mov ecx, dword [esp + 0x48]
xor ebp, ebp
mov eax, dword [ecx + 0xc]
test byte [eax + 0x24], 0x80
jne 0x48b8da
push esi
mov esi, dword [esp + 0x3c]
push esi
push ecx
push dword [esp + 0xcc]
call fcn.00428f20
mov eax, dword [esp + 0xd0]
add esp, 0x10
mov ecx, dword [esp + 0x48]
jmp 0x48b9f1
cmp dword [esp + 0x38], esi
je 0x48b9e6
push eax
call fcn.0046e660
mov esi, eax
mov dword [esp + 0x2c], esi
movzx eax, word [esi + 0x32]
push eax
push dword [esp + 0xc0]
call fcn.00462300
mov edx, eax
xor ebp, ebp
movzx eax, word [esi + 0x32]
add esp, 0xc
mov dword [esp + 0x40], edx
mov ecx, eax
mov dword [esp + 0x50], ebp
cmp bp, ax
jae 0x48b9bb
mov edi, edx
mov eax, dword [esp + 0x48]
xor ecx, ecx
movzx edx, word [eax + 0x34]
test edx, edx
je 0x48b94d
mov eax, dword [esi + 4]
movzx esi, word [eax + ebp*2]
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 4]
lea ecx, [ecx]
cmp si, word [eax]
je 0x48b96e
inc ecx
add eax, 2
cmp ecx, edx
jl 0x48b940
or eax, 0xffffffff
mov ecx, dword [ebx + 0x6c]
movsx edx, ax
cmp dword [ebx + 0x70], ecx
jg 0x48b973
push edi
push edx
push dword [esp + 0x28]
push 0x5a
push ebx
call fcn.00437ce0
add esp, 0x14
jmp 0x48b99e
movzx eax, cx
jmp 0x48b950
mov esi, dword [esp + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4], 0x5a
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], edi
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [esp + 0x28]
inc ebp
inc edi
movzx ecx, word [esi + 0x32]
cmp ebp, ecx
jl 0x48b921
mov edx, dword [esp + 0x40]
mov edi, dword [esp + 0xc8]
mov esi, dword [esp + 0x38]
movzx eax, cx
push eax
push edx
push dword [esp + 0x84]
push esi
push 0x1d
push ebx
call fcn.0047a300
mov eax, dword [esp + 0xd8]
add esp, 0x18
mov ecx, dword [esp + 0x48]
xor ebp, ebp
jmp 0x48b9f1
mov eax, dword [esp + 0xc0]
mov esi, dword [esp + 0x38]
cmp dword [edi], 0
jne 0x48ba24
test byte [eax + 0x28], 0x20
jne 0x48ba0b
push eax
push dword [esp + 0x24]
push esi
push ecx
call fcn.0049b900
add esp, 0x10
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x24]
test eax, eax
je 0x48ba24
push dword [esp + 0x70]
push esi
push eax
call fcn.0049b4a0
add esp, 0xc
mov ecx, dword [esp + 0x2c]
test dword [ecx + 0x24], 0x1000
je 0x48ba37
mov byte [edi + 0x35], 0xb0
jmp 0x48ba44
cmp dword [esp + 0x34], 0
sete al
add al, 4
mov byte [edi + 0x35], al
mov eax, dword [esp + 0x20]
mov dword [edi + 0x38], eax
mov al, byte [ecx + 0x26]
and al, 1
mov byte [edi + 0x36], al
test byte [ecx + 0x24], 0xf
jne 0x48ba5d
mov byte [edi + 0x37], 1
test ebp, ebp
je 0x48c378
xor eax, eax
mov dword [esp + 0x48], eax
jmp 0x48a799
test edx, 0x2000
je 0x48c323
mov ebp, dword [esp + 0xb8]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x1c], 0
mov eax, dword [ebp + 0x28]
dec dword [ebp + 0x38]
inc dword [ebp + 0x2c]
mov edx, dword [ebp + 0x2c]
mov dword [esp + 0x50], eax
inc eax
mov dword [ebp + 0x28], eax
mov eax, dword [ebp + 0x38]
mov ecx, dword [ecx + 0x10]
mov dword [esp + 0x64], eax
xor eax, eax
mov dword [esp + 0x58], eax
mov eax, dword [edi + 0x30]
mov dword [esp + 0x40], edx
mov dword [esp + 0x54], 0
mov dword [esp + 0x74], 0
mov eax, dword [eax]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x44], ecx
mov eax, dword [eax + 0x18]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xc8]
mov byte [eax + 0x35], 0x41
mov dword [eax + 0x38], edx
mov eax, dword [esp + 0xc0]
mov al, byte [eax + 0x2c]
cmp al, 1
jbe 0x48bc05
mov ecx, dword [esp + 0x60]
movzx eax, al
sub eax, esi
dec eax
mov dword [esp + 0x28], eax
push 0
lea eax, [eax + eax*8]
lea eax, [eax*8 + 0x50]
push eax
test ecx, ecx
je 0x48bb33
push ecx
call fcn.00455fb0
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x18], ecx
jmp 0x48bb41
call fcn.00466e30
add esp, 8
mov dword [esp + 0x18], eax
mov ecx, eax
test ecx, ecx
jne 0x48bb5e
mov eax, dword [esp + 0xcc]
mov edx, dword [esp + 0xd0]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa4
ret
mov edx, dword [esp + 0x28]
lea edi, [ecx + 8]
mov esi, dword [esp + 0x6c]
lea eax, [edx + 1]
movzx eax, al
mov dword [ecx + 4], eax
mov dword [ecx], eax
mov ecx, 0x12
mov eax, dword [esp + 0xc0]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [eax + 4]
add ecx, 8
mov dword [esp + 0x28], ecx
cmp edx, 1
jl 0x48bbd4
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0xc8]
add ebp, 0x50
add ebx, 0x8c
movzx eax, byte [ebx]
lea ebx, [ebx + 0x58]
mov edi, ebp
add ebp, 0x48
lea eax, [eax + eax*8]
lea esi, [ecx + eax*8]
mov ecx, 0x12
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x28]
sub edx, 1
jne 0x48bba5
mov ebx, dword [esp + 0xbc]
mov ebp, dword [esp + 0xb8]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0xc0]
test byte [edx + 0x28], 0x10
jne 0x48bc4c
test byte [ecx + 0x24], 0x80
jne 0x48bc15
inc dword [ebp + 0x2c]
mov eax, dword [ebp + 0x2c]
push eax
push 0
push 0x48
push ebx
mov dword [esp + 0x2c], eax
call fcn.0047a1c0
add esp, 0x10
jmp 0x48bc42
mov eax, dword [esp + 0xc0]
mov eax, dword [eax + 4]
mov dword [esp + 0x18], eax
jmp 0x48bbd8
push ecx
call fcn.0046e660
mov edi, dword [ebp + 0x28]
mov esi, eax
mov dword [esp + 0x20], edi
lea ecx, [edi + 1]
mov dword [ebp + 0x28], ecx
movzx ecx, word [esi + 0x32]
push ecx
push edi
push 0x65
push ebx
call fcn.0047a1c0
push esi
push ebp
call fcn.00486b60
add esp, 0x1c
inc dword [ebp + 0x2c]
mov eax, dword [ebp + 0x2c]
mov dword [esp + 0x54], eax
push dword [esp + 0x40]
push 0
push 0x45
push ebx
call fcn.0047a1c0
mov dword [esp + 0x44], eax
add esp, 0x10
mov eax, dword [esp + 0x70]
cmp dword [eax + 0xc], 1
jle 0x48bd32
mov edx, dword [esp + 0x5c]
xor edi, edi
xor esi, esi
xor ebx, ebx
lea esp, [esp]
mov eax, dword [eax + 0x14]
add eax, esi
mov ecx, dword [eax]
cmp eax, edx
je 0x48bccd
test byte [eax + 0xa], 6
jne 0x48bccd
mov ebp, 0x1fff
test word [eax + 0xc], bp
mov ebp, dword [esp + 0xb8]
je 0x48bccd
test ecx, ecx
je 0x48bcba
push 0
push 0
push ecx
push dword [esp + 0x6c]
call fcn.004308b0
add esp, 0x10
jmp 0x48bcbc
xor eax, eax
push eax
push ebx
push ebp
call fcn.00458770
mov edx, dword [esp + 0x68]
add esp, 0xc
mov ebx, eax
mov eax, dword [esp + 0x70]
inc edi
add esi, 0x30
cmp edi, dword [eax + 0xc]
jl 0x48bc80
mov dword [esp + 0x58], ebx
test ebx, ebx
mov ebx, dword [esp + 0xbc]
je 0x48bd32
mov ecx, dword [ebp]
mov eax, 0x34
cmp ax, word [ecx + 0x124]
jbe 0x48be4c
cmp dword [ecx + 0x120], 0
jne 0x48bd12
inc dword [ecx + 0x134]
jmp 0x48beba
cmp byte [ecx + 0x53], 0
je 0x48beba
xor esi, esi
mov eax, dword [esp + 0x58]
push eax
push dword [ebp]
call fcn.0045b700
add esp, 8
mov dword [esp + 0x58], esi
push str.MULTI_INDEX_OR
push 1
push ebp
call fcn.00483990
mov ecx, dword [esp + 0x30]
xor esi, esi
add esp, 0xc
mov dword [esp + 0x20], esi
cmp dword [ecx + 0xc], esi
jle 0x48c1db
mov edx, 0x400
lea ebx, [ebx]
lea eax, [esi + esi*2]
shl eax, 4
add eax, dword [ecx + 0x14]
mov ecx, dword [esp + 0x38]
cmp dword [eax + 0x14], ecx
je 0x48bd7c
test word [eax + 0xc], dx
je 0x48c1c7
mov esi, dword [eax]
xor edi, edi
mov eax, dword [esp + 0x58]
mov dword [esp + 0x14], edi
test eax, eax
je 0x48bd91
mov dword [eax + 0xc], esi
mov esi, eax
mov eax, dword [esp + 0x20]
inc eax
push eax
push str.INDEX__d
push 1
push ebp
call fcn.00483990
push dword [esp + 0x60]
push 0x20
push 0
push 0
push esi
mov esi, dword [esp + 0x3c]
push esi
push ebp
call fcn.00489900
add esp, 0x2c
mov dword [esp + 0x78], eax
test eax, eax
je 0x48c1be
push 0
lea ecx, [eax + 0x2f0]
push ecx
push esi
push ebp
call fcn.0048d270
mov eax, dword [esp + 0xd0]
add esp, 0x10
mov esi, dword [esp + 0x20]
test byte [eax + 0x28], 0x10
jne 0x48c06f
mov eax, dword [esp + 0x24]
mov ebp, esi
mov eax, dword [eax + 0xc]
dec eax
cmp esi, eax
mov eax, 0xffffffff
cmove ebp, eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x28], ebp
test byte [eax + 0x24], 0x80
jne 0x48bf23
mov edi, dword [esp + 0x54]
push edi
push dword [esp + 0x3c]
push 0x82
push ebx
call fcn.0047a1c0
push ebp
push edi
push 0
push dword [esp + 0x38]
push 0x2d
push ebx
call fcn.0047a300
mov ebp, dword [esp + 0xe0]
add esp, 0x28
mov edi, eax
jmp 0x48c06f
mov esi, dword [ecx + 0x148]
test esi, esi
je 0x48be66
mov eax, dword [esi]
mov dword [ecx + 0x148], eax
inc dword [ecx + 0x130]
jmp 0x48bed1
mov esi, dword [ecx + 0x144]
test esi, esi
je 0x48be80
mov eax, dword [esi]
mov dword [ecx + 0x144], eax
inc dword [ecx + 0x130]
jmp 0x48bed1
mov esi, dword [ecx + 0x140]
test esi, esi
je 0x48be9a
mov eax, dword [esi]
mov dword [ecx + 0x140], eax
inc dword [ecx + 0x130]
jmp 0x48bed1
mov esi, dword [ecx + 0x13c]
test esi, esi
je 0x48beb4
mov eax, dword [esi]
inc dword [ecx + 0x130]
mov dword [ecx + 0x13c], eax
jmp 0x48bed1
inc dword [ecx + 0x138]
push 0
push 0x34
push ecx
call fcn.0042ca10
mov esi, eax
add esp, 0xc
test esi, esi
je 0x48bd1e
push 0x34
push 0
push esi
call fcn.004ac5e0
or eax, 0xffffffff
mov byte [esi], 0x2c
mov word [esi + 0x22], ax
mov eax, dword [esp + 0x64]
mov dword [esi + 0x10], eax
push esi
mov eax, dword [eax + 4]
and eax, 0x200104
or dword [esi + 4], eax
call fcn.00431990
mov eax, dword [ebp]
add esp, 0x10
mov eax, dword [eax + 0x7c]
cmp dword [esi + 0x18], eax
jle 0x48bd2e
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebp
call fcn.00457ce0
add esp, 0xc
jmp 0x48bd2e
mov esi, dword [eax + 8]
test esi, esi
je 0x48bf40
lea ebx, [ebx]
mov eax, dword [esi + 0x38]
and al, 3
cmp al, 2
je 0x48bf40
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x48bf30
movzx ebp, word [esi + 0x32]
push ebp
push dword [esp + 0xbc]
call fcn.00462300
add esp, 8
mov dword [esp + 0x4c], eax
xor edi, edi
test ebp, ebp
je 0x48bf86
mov edi, edi
lea ecx, [edi + eax]
mov eax, dword [esi + 4]
push ecx
movsx eax, word [eax + edi*2]
push eax
push dword [esp + 0x40]
push dword [esp + 0x50]
push ebx
call fcn.00459050
mov eax, dword [esp + 0x60]
inc edi
add esp, 0x14
cmp edi, ebp
jl 0x48bf60
mov edi, dword [esp + 0x28]
test edi, edi
je 0x48bfa9
push ebp
push eax
push 0
push dword [esp + 0x28]
push 0x1e
push ebx
call fcn.0047a300
add esp, 0x18
mov dword [esp + 0x14], eax
test edi, edi
js 0x48c025
mov ecx, dword [ebx + 0x6c]
mov edx, dword [esp + 0x54]
mov esi, dword [esp + 0x4c]
cmp dword [ebx + 0x70], ecx
jg 0x48bfc9
push edx
push ebp
push esi
push 0x5c
push ebx
call fcn.00437ce0
add esp, 0x14
jmp 0x48bff0
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4], 0x5c
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
push ebp
push esi
push dword [esp + 0x5c]
push dword [esp + 0x28]
push 0x85
push ebx
call fcn.0047a300
add esp, 0x18
test edi, edi
je 0x48c029
mov eax, dword [ebx + 0x6c]
test eax, eax
jle 0x48c029
lea ecx, [eax + eax*4]
mov edx, 0x10
mov eax, dword [ebx + 0x68]
mov word [eax + ecx*4 - 0x12], dx
jmp 0x48c029
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0x14]
cmp ebp, 1
jne 0x48c053
mov ebp, dword [esp + 0xb8]
test esi, esi
je 0x48c06b
mov al, byte [ebp + 0x13]
cmp al, 8
jae 0x48c06b
movzx eax, al
mov dword [ebp + eax*4 + 0x94], esi
inc byte [ebp + 0x13]
jmp 0x48c06b
mov eax, dword [esp + 0xb8]
cmp ebp, dword [eax + 0x1c]
jle 0x48c069
mov dword [eax + 0x1c], ebp
mov ebp, eax
mov dword [ebp + 0x20], esi
jmp 0x48c06b
mov ebp, eax
mov esi, dword [esp + 0x20]
mov ecx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
jg 0x48c08e
push 0
push dword [esp + 0x68]
push dword [esp + 0x48]
push 0xc
push ebx
call fcn.00437ce0
add esp, 0x14
jmp 0x48c0c1
mov edx, dword [esp + 0x40]
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x64]
mov dword [eax + ecx*4], 0xc
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
test edi, edi
je 0x48c0e8
mov edx, dword [ebx + 0x6c]
jns 0x48c0cd
lea edi, [edx - 1]
mov eax, dword [ebx]
cmp byte [eax + 0x53], 0
je 0x48c0dc
mov eax, 0x4e89a4
jmp 0x48c0e5
mov eax, dword [ebx + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov edi, dword [esp + 0x78]
mov edx, 1
mov ecx, dword [esp + 0x74]
mov eax, dword [edi + 0x30]
test al, 2
cmovne ecx, edx
mov edx, dword [edi + 0x338]
mov dword [esp + 0x74], ecx
mov ecx, eax
test dword [edx + 0x24], 0x200
je 0x48c147
test esi, esi
je 0x48c126
mov ebp, dword [esp + 0x3c]
cmp dword [edx + 0x20], ebp
mov ebp, dword [esp + 0xb8]
jne 0x48c147
mov ebx, dword [esp + 0x44]
test byte [ebx + 0x24], 0x80
mov ebx, dword [esp + 0xbc]
je 0x48c17c
mov edx, dword [edx + 0x20]
mov dword [esp + 0x3c], edx
mov eax, dword [edx + 0x38]
and al, 3
cmp al, 2
jne 0x48c14f
mov dword [esp + 0x3c], 0
test cl, 1
je 0x48c15f
mov eax, dword [esp + 0xc0]
or dword [eax + 0x30], 1
push edi
call fcn.0048c710
mov ecx, dword [ebp + 0xd4]
add esp, 4
test ecx, ecx
jne 0x48c187
xor eax, eax
mov dword [ebp + 0xd4], eax
jmp 0x48c1c2
mov ecx, eax
mov eax, dword [edx + 0x20]
mov dword [esp + 0x3c], eax
jmp 0x48c14f
mov edx, dword [ebp + 8]
test ecx, ecx
jns 0x48c192
mov ecx, dword [edx + 0x6c]
dec ecx
mov eax, dword [edx]
cmp byte [eax + 0x53], 0
je 0x48c1aa
mov eax, 0x4e89a4
mov eax, dword [eax + 8]
mov dword [ebp + 0xd4], eax
jmp 0x48c1c2
mov eax, dword [edx + 0x68]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov eax, dword [eax + 8]
mov dword [ebp + 0xd4], eax
jmp 0x48c1c2
mov esi, dword [esp + 0x20]
mov edx, 0x400
mov eax, dword [esp + 0x24]
inc esi
mov dword [esp + 0x20], esi
mov ecx, eax
cmp esi, dword [eax + 0xc]
jl 0x48bd60
mov ecx, dword [ebp + 0xd4]
test ecx, ecx
jne 0x48c1e9
xor eax, eax
jmp 0x48c20f
mov edx, dword [ebp + 8]
test ecx, ecx
jns 0x48c1f4
mov ecx, dword [edx + 0x6c]
dec ecx
mov eax, dword [edx]
cmp byte [eax + 0x53], 0
je 0x48c203
mov eax, 0x4e89a4
jmp 0x48c20c
mov eax, dword [edx + 0x68]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov eax, dword [eax + 8]
mov edi, dword [esp + 0xc8]
mov dword [ebp + 0xd4], eax
mov eax, dword [esp + 0x3c]
mov dword [edi + 0x40], eax
test eax, eax
je 0x48c22e
mov eax, dword [esp + 0x50]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x58]
mov ebp, dword [esp + 0x60]
test eax, eax
je 0x48c24b
push eax
push ebp
mov dword [eax + 0xc], 0
call fcn.0045b700
add esp, 8
mov ecx, dword [esp + 0x34]
mov edx, dword [ebx + 0x6c]
test ecx, ecx
jns 0x48c259
lea ecx, [edx - 1]
mov eax, dword [ebx]
cmp byte [eax + 0x53], 0
je 0x48c268
mov eax, 0x4e89a4
jmp 0x48c271
mov eax, dword [ebx + 0x68]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 4], edx
mov ecx, dword [ebx + 0x6c]
mov edx, dword [edi + 0xc]
cmp dword [ebx + 0x70], ecx
jg 0x48c291
push 0
push edx
push 0
push 0xb
push ebx
call fcn.00437ce0
add esp, 0x14
jmp 0x48c2c0
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [ebx + 0xc]
mov edx, dword [esp + 0x64]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x48c2de
push edx
push ebx
push ecx
call fcn.004458c0
add esp, 0xc
jmp 0x48c2e7
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebx + 0x6c]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0xc0]
cmp byte [eax + 0x2c], 1
jbe 0x48c306
mov eax, dword [esp + 0x18]
test eax, eax
je 0x48c306
push eax
push ebp
call fcn.00455ea0
add esp, 8
cmp dword [esp + 0x74], 0
jne 0x48a797
push dword [esp + 0x5c]
push edi
call fcn.0042d870
add esp, 8
jmp 0x48a797
mov eax, dword [esp + 0x6c]
test byte [eax + 0x28], 0x20
je 0x48c33d
mov eax, dword [esp + 0xc8]
mov byte [eax + 0x35], 0xb0
jmp 0x48a797
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0xc8]
push ebp
mov al, byte [ecx + 0x4cf3dc]
mov byte [edi + 0x35], al
mov eax, dword [esp + 0x3c]
push eax
mov dword [edi + 0x38], eax
movzx eax, byte [ecx + 0x4cf3e0]
push eax
push ebx
call fcn.0047a1c0
add esp, 0x10
mov byte [edi + 0x37], 1
inc eax
mov dword [edi + 0x3c], eax
jmp 0x48a797
mov eax, dword [esp + 0x48]
jmp 0x48a799
mov eax, dword [esp + 0x6c]
mov ebp, dword [esi]
test byte [eax + 0x24], 8
je 0x48c397
test byte [ebp + 4], 1
je 0x48c50f
mov ecx, dword [esp + 0x28]
cmp ecx, 1
jne 0x48c424
mov eax, dword [esp + 0xc8]
xor ecx, ecx
mov dword [esp + 0x80], edi
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], edi
mov eax, dword [eax + 4]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x64], eax
lea eax, [esp + 0x64]
mov dword [esp + 0x90], edi
mov dword [esp + 0x94], ecx
mov dword [esp + 0x84], 0x430e20
mov dword [esp + 0x98], eax
test ebp, ebp
je 0x48c411
lea eax, [esp + 0x80]
push ebp
push eax
call fcn.0049b300
mov ecx, dword [esp + 0x9c]
add esp, 8
test cx, cx
je 0x48c429
mov eax, 2
mov dword [esp + 0x14], eax
jmp 0x48c513
cmp ecx, 3
jge 0x48c44f
movzx edx, word [esi + 0xa]
test edx, 0x1000
je 0x48c44f
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x48c513
mov eax, 3
mov dword [esp + 0x14], eax
jmp 0x48c513
test edx, 0x200
je 0x48c4c7
mov eax, dword [esp + 0xc8]
mov eax, dword [eax + 0x2c]
test eax, eax
je 0x48c4c7
mov edi, dword [ebx + 0x6c]
mov edx, eax
and eax, 1
shr edx, 1
lea eax, [eax*2 + 0x12]
mov dword [esp + 0x40], eax
cmp dword [ebx + 0x70], edi
jg 0x48c492
push 0
push 0
push edx
push eax
push ebx
call fcn.00437ce0
add esp, 0x14
mov edi, eax
jmp 0x48c4c7
lea eax, [edi + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [edi + edi*4]
mov eax, dword [ebx + 0x68]
mov ebx, dword [esp + 0x40]
mov byte [eax + ecx*4], bl
xor ebx, ebx
mov word [eax + ecx*4 + 2], bx
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], ebx
mov byte [eax + ecx*4 + 1], bl
mov ebx, dword [esp + 0xbc]
mov dword [eax + ecx*4 + 4], edx
push 0x10
push dword [esp + 0x80]
push ebp
push dword [esp + 0xc4]
call fcn.0045b9f0
add esp, 0x10
test edi, edi
je 0x48c50a
mov eax, dword [ebx]
mov edx, dword [ebx + 0x6c]
cmp byte [eax + 0x53], 0
je 0x48c4f6
mov eax, 0x4e89a4
jmp 0x48c507
test edi, edi
lea eax, [edx - 1]
cmovns eax, edi
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x68]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
or word [esi + 0xa], 4
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x50]
add esi, 0x30
dec edx
mov dword [esp + 0x50], edx
test edx, edx
jg 0x48a7c0
mov edx, dword [esp + 0x70]
mov esi, dword [edx + 0x14]
mov ebp, dword [edx + 0xc]
mov dword [esp + 0x28], eax
test eax, eax
jg 0x48a7a8
test ebp, ebp
jle 0x48c649
mov ebx, dword [esp + 0xb8]
add esi, 0xc
mov dword [esp + 0x50], esi
mov edi, 0xb
jmp 0x48c560
test byte [esi - 2], 6
jne 0x48c62e
movzx eax, word [esi]
test al, 0x82
setne cl
bt ax, di
setb al
test al, cl
je 0x48c62e
mov ecx, dword [esp + 0x38]
cmp dword [esi + 8], ecx
jne 0x48c62e
mov eax, dword [esp + 0x6c]
test byte [eax + 0x24], 8
jne 0x48c62e
mov eax, dword [esi - 0xc]
push 0
push 0x83
push dword [esp + 0xd8]
mov dword [esp + 0x34], eax
push dword [esp + 0xd8]
push dword [esi + 0xc]
push ecx
push edx
call fcn.0048d720
mov edx, eax
add esp, 0x1c
test edx, edx
je 0x48c62e
test byte [edx + 0xa], 4
jne 0x48c62e
test byte [edx + 0xc], 1
je 0x48c5ed
mov eax, dword [edx]
test dword [eax + 4], 0x800
je 0x48c5ed
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x1c]
cmp dword [eax], 1
jg 0x48c62e
mov esi, dword [edx]
lea edi, [esp + 0x80]
mov eax, dword [esp + 0x28]
mov ecx, 0xd
rep movsd dword es:[edi], dword [esi]
mov eax, dword [eax + 0xc]
push 0x10
push dword [esp + 0x80]
mov dword [esp + 0x94], eax
lea eax, [esp + 0x88]
push eax
push ebx
call fcn.0045b9f0
mov esi, dword [esp + 0x60]
add esp, 0x10
mov edi, 0xb
mov edx, dword [esp + 0x70]
dec ebp
add esi, 0x30
mov dword [esp + 0x50], esi
test ebp, ebp
jg 0x48c560
mov ebx, dword [esp + 0xbc]
mov ebp, dword [esp + 0xc8]
mov edx, dword [ebp]
test edx, edx
je 0x48c6f6
mov eax, dword [ebx + 0x6c]
mov dword [ebp + 0x1c], eax
mov ecx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
jg 0x48c67b
push 0
push edx
push 1
push 0x45
push ebx
call fcn.00437ce0
add esp, 0x14
jmp 0x48c6aa
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4], 0x45
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [esp + 0x70]
xor edi, edi
mov esi, dword [ebx + 0x14]
cmp dword [ebx + 0xc], edi
jle 0x48c6f6
test byte [esi + 0xa], 6
jne 0x48c6ed
mov ecx, dword [esi + 0x28]
mov eax, dword [esi + 0x2c]
and ecx, dword [ebp + 0x50]
and eax, dword [ebp + 0x54]
or ecx, eax
jne 0x48c6ed
push 0x10
push dword [esp + 0x80]
push dword [esi]
push dword [esp + 0xc4]
call fcn.0045b9f0
add esp, 0x10
or word [esi + 0xa], 4
inc edi
add esi, 0x30
cmp edi, dword [ebx + 0xc]
jl 0x48c6b8
mov eax, dword [ebp + 0x50]
mov edx, dword [ebp + 0x54]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa4
ret