Function at 0x43e250
Capabilities:
Parse credit card information
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x334
mov eax, dword [0x5498f8]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
mov eax, dword [esi + 4]
mov ebx, dword [esi + 8]
mov dword [ebp - 0x118], eax
mov dword [ebp - 0xe0], eax
xor eax, eax
push edi
mov edi, dword [esi]
mov cl, byte [edi + 0x3e]
mov edx, dword [edi + 0x20]
mov dword [ebp - 0xd8], eax
mov byte [ebp - 0x129], al
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x190], eax
mov eax, dword [edi + 0x24]
push esi
mov dword [ebp - 0xec], esi
mov dword [ebp - 0xdc], edi
mov byte [ebp - 0x11d], cl
mov dword [ebp - 0x128], ebx
mov dword [ebp - 0x150], edx
mov dword [ebp - 0x14c], eax
call fcn.00437b50
add esp, 4
cmp dword [esi + 0x50], 7
je 0x443550
xor eax, eax
mov dword [esi + 0x50], eax
mov dword [esi + 0x88], eax
mov dword [esi + 0x8c], eax
mov dword [esi + 0x14], eax
mov ecx, dword [edi + 0xf0]
mov dword [edi + 0x1c4], eax
test ecx, ecx
jne 0x4435a0
cmp dword [edi + 0x124], eax
je 0x43e327
mov ecx, dword [edi + 0x12c]
mov eax, dword [esi + 0x7c]
xor edx, edx
div ecx
sub ecx, edx
mov dword [ebp - 0x18c], ecx
mov eax, dword [esi + 0x4c]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x118]
lea ecx, [eax + edx*4]
mov dword [ebp - 0xe0], ecx
lea esp, [esp]
cmp byte [edi + 0x41], 0
jne 0x443550
mov edi, dword [ebp - 0xe0]
mov dl, byte [edi]
inc dword [ebp - 0x158]
movzx eax, dl
lea ecx, [eax - 1]
cmp ecx, 0x9d
ja case.0x43e36a.62
jmp dword [ecx*4 + 0x4435d4]
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
lea ebx, [ebx + edx*8]
mov eax, 4
mov word [ebx + 8], ax
mov ecx, edi
sub ecx, dword [ebp - 0x118]
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp 0x4432e2
mov edi, dword [edi + 4]
lea ecx, [edi + edi*4]
lea eax, [ebx + ecx*8]
mov ecx, dword [eax]
lea edx, [ecx + ecx*4]
mov ecx, dword [ebp - 0x118]
lea edx, [ecx + edx*4]
mov ecx, 0x80
mov word [eax + 8], cx
jmp 0x4432f2
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0xc]
lea ecx, [ebx + edx*8]
dec eax
cdq
mov dword [ecx], eax
mov eax, 4
mov dword [ecx + 4], edx
mov word [ecx + 8], ax
cmp dword [edi + 8], 0
jne 0x4432e2
jmp case.0x43e36a.62
mov edi, dword [edi + 4]
lea ecx, [edi + edi*4]
mov eax, dword [ebx + ecx*8]
lea ebx, [ebx + ecx*8]
mov ecx, dword [ebp - 0x118]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*4 - 0x14]
mov edx, 0x80
mov dword [ebp - 0xe0], ecx
mov word [ebx + 8], dx
jmp 0x4432f8
mov eax, dword [edi + 4]
mov esi, dword [ebp - 0x118]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
sub edi, esi
mov eax, 0x66666667
imul edi
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov ecx, 4
mov word [ebx + 8], cx
mov ecx, dword [ebx]
mov dword [ebx + 4], edx
lea edx, [ecx + ecx*4]
mov dword [ebx], eax
lea eax, [esi + edx*4]
mov dword [ebp - 0xe0], eax
jmp 0x4432f8
mov eax, dword [edi + 0xc]
lea ecx, [eax + eax*4]
test byte [ebx + ecx*8 + 8], 1
je case.0x43e36a.62
mov ecx, edi
sub ecx, dword [ebp - 0x118]
mov eax, 0x66666667
imul ecx
sar edx, 3
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
cmp dword [edi + 4], 0
jne 0x44332b
mov eax, dword [esi + 0xb0]
test eax, eax
je 0x44332b
mov edx, dword [eax + 4]
dec dword [esi + 0xb8]
mov ecx, dword [ebp - 0xdc]
mov dword [esi + 0xb0], edx
mov esi, dword [esi + 0x5c]
add dword [ecx + 0x54], esi
mov edi, eax
mov dword [ecx + 0x50], esi
call fcn.00438670
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
mov dword [ebp - 0x150], edx
mov edx, dword [ebp - 0xe0]
cmp dword [edx + 8], 4
mov dword [ebp - 0x14c], ecx
mov ecx, dword [ebp - 0xec]
jne 0x43e50b
mov edx, dword [ecx + 4]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4 + 8]
dec eax
mov edx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
lea eax, [eax + eax*4]
mov dword [ebp - 0x128], ecx
lea ecx, [edx + eax*4]
mov dword [ebp - 0x118], edx
mov dword [ebp - 0xe0], ecx
jmp 0x4432f8
mov eax, dword [edi + 8]
lea edx, [eax + eax*4]
mov eax, dword [esi + 8]
lea eax, [eax + edx*8]
mov ecx, 0x2460
test word [eax + 8], cx
je 0x43e55a
call fcn.0043e210
mov ecx, eax
mov eax, dword [edi + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x43e36a.62
mov edx, 4
mov word [eax + 8], dx
mov ecx, eax
mov eax, dword [edi + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x43e36a.62
mov eax, dword [edi + 8]
mov ecx, dword [esi + 8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov edx, 0x2460
test word [eax + 8], dx
je 0x43e5a1
call fcn.0043e210
mov ecx, dword [edi + 0x10]
mov edx, dword [ecx]
mov dword [eax], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
jmp case.0x43e36a.62
mov ecx, 4
mov word [eax + 8], cx
mov ecx, dword [edi + 0x10]
mov edx, dword [ecx]
mov dword [eax], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
jmp case.0x43e36a.62
mov eax, dword [edi + 8]
lea edx, [eax + eax*4]
mov eax, dword [esi + 8]
lea eax, [eax + edx*8]
mov ecx, 0x2460
test word [eax + 8], cx
je 0x43e5da
call fcn.0043e210
jmp 0x43e5e3
mov edx, 4
mov word [eax + 8], dx
mov ecx, 8
mov word [eax + 8], cx
mov edx, dword [edi + 0x10]
fld qword [edx]
fstp qword [eax]
jmp case.0x43e36a.62
mov eax, dword [edi + 8]
mov ecx, dword [esi + 8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov edx, 0x2460
test word [eax + 8], dx
je 0x43e616
call fcn.0043e210
jmp 0x43e61f
mov ecx, 4
mov word [eax + 8], cx
mov dword [ebp - 0xe4], eax
mov eax, dword [edi + 0x10]
mov byte [edi], 0x19
mov dword [ebp - 0xf4], eax
call fcn.0041aca0
cmp byte [ebp - 0x11d], 1
mov dword [edi + 4], eax
je 0x43e6cf
mov edx, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xe4]
push 0
push 1
push edx
or eax, 0xffffffff
call fcn.00436220
add esp, 0xc
mov dword [ebp - 0xd8], eax
cmp eax, 0x12
je 0x443583
movzx ecx, byte [ebp - 0x11d]
mov edi, dword [ebp - 0xe4]
mov eax, edi
call fcn.00435620
test eax, eax
jne 0x443550
mov dword [edi + 0x18], eax
mov eax, 0x800
or word [edi + 8], ax
mov edi, dword [ebp - 0xe0]
cmp byte [edi + 1], 0xff
jne 0x43e6b3
mov eax, dword [edi + 0x10]
mov ecx, dword [ebp - 0xdc]
call fcn.00418230
mov eax, dword [ebp - 0xe4]
mov byte [edi + 1], 0xff
mov ecx, dword [eax + 0x10]
mov dword [edi + 0x10], ecx
mov edx, dword [eax + 0xc]
mov dword [edi + 4], edx
mov edi, dword [ebp - 0xe0]
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xdc]
cmp eax, dword [ecx + 0x58]
jg 0x443583
mov eax, dword [edi + 8]
lea edx, [eax + eax*4]
mov eax, dword [esi + 8]
lea eax, [eax + edx*8]
mov ecx, 0x2460
test word [eax + 8], cx
je 0x43e6ff
call fcn.0043e210
jmp 0x43e708
mov edx, 4
mov word [eax + 8], dx
mov ecx, 0xa02
mov word [eax + 8], cx
mov edx, dword [edi + 0x10]
mov dword [eax + 0x10], edx
mov ecx, dword [edi + 4]
mov dl, byte [ebp - 0x11d]
mov dword [eax + 0xc], ecx
mov byte [eax + 0xa], dl
cmp byte [edi + 3], 0
je case.0x43e36a.62
mov ecx, dword [edi + 0xc]
lea ecx, [ecx + ecx*4]
mov edx, dword [ebx + ecx*8]
or edx, dword [ebx + ecx*8 + 4]
je case.0x43e36a.62
mov ecx, 0xa10
mov word [eax + 8], cx
jmp case.0x43e36a.62
mov eax, dword [edi + 8]
lea edx, [eax + eax*4]
mov eax, dword [esi + 8]
lea eax, [eax + edx*8]
mov ecx, 0x2460
test word [eax + 8], cx
je 0x43e76f
call fcn.0043e210
jmp 0x43e778
mov edx, 4
mov word [eax + 8], dx
mov esi, dword [edi + 0xc]
sub esi, dword [edi + 8]
mov ebx, eax
mov eax, dword [edi + 4]
neg eax
sbb eax, eax
and eax, 0x100
inc eax
movzx eax, ax
mov dword [ebp - 0xf4], eax
mov word [ebx + 8], ax
test esi, esi
jle case.0x43e36a.62
add ebx, 0x28
mov eax, ebx
call fcn.00435f40
mov cx, word [ebp - 0xf4]
dec esi
mov word [ebx + 8], cx
test esi, esi
jg 0x43e7a2
jmp case.0x43e36a.62
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov cx, word [ebx + edx*8 + 8]
lea eax, [ebx + edx*8]
mov edx, 0xff7f
and cx, dx
or cx, 1
mov word [eax + 8], cx
jmp case.0x43e36a.62
mov eax, dword [edi + 8]
mov ecx, dword [esi + 8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov edx, 0x2460
test word [eax + 8], dx
je 0x43e802
call fcn.0043e210
jmp 0x43e80b
mov ecx, 4
mov word [eax + 8], cx
mov edx, dword [edi + 0x10]
push 0
mov esi, eax
mov eax, dword [edi + 4]
push 0
push edx
mov ecx, esi
call fcn.00436220
mov al, byte [ebp - 0x11d]
add esp, 0xc
mov byte [esi + 0xa], al
jmp case.0x43e36a.62
mov eax, dword [edi + 4]
mov edx, dword [esi + 0x3c]
lea ecx, [eax + eax*4]
lea ebx, [edx + ecx*8 - 0x28]
mov ecx, ebx
call fcn.00436090
test eax, eax
jne 0x443583
mov eax, dword [edi + 8]
mov ecx, dword [esi + 8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov edx, 0x2460
test word [eax + 8], dx
je 0x43e87c
call fcn.0043e210
push 0x800
push ebx
push eax
call fcn.004360f0
add esp, 0xc
jmp case.0x43e36a.62
push 0x800
mov ecx, 4
push ebx
push eax
mov word [eax + 8], cx
call fcn.004360f0
add esp, 0xc
jmp case.0x43e36a.62
mov eax, dword [edi + 4]
mov edx, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [edi + 8]
mov dword [ebp - 0xe8], edx
lea edx, [eax + eax*4]
mov dword [ebp - 0xe4], ecx
lea esi, [ebx + edx*8]
mov ebx, dword [ebp - 0xe4]
mov eax, esi
call fcn.004361e0
mov eax, 0x1000
test word [esi + 8], ax
je 0x43e8e7
mov eax, esi
call fcn.00435770
test eax, eax
jne 0x443550
mov edi, dword [ebp - 0xe0]
add dword [ebp - 0xe4], 0x28
add esi, 0x28
dec dword [ebp - 0xe8]
jne 0x43e8ba
jmp case.0x43e36a.62
mov eax, dword [edi + 4]
mov ecx, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + edx*8]
mov dword [ebp - 0xe8], ecx
lea ebx, [ebx + eax*8]
lea esp, [esp]
push 0x1000
push esi
push ebx
call fcn.004360f0
mov ecx, 0x1000
add esp, 0xc
test word [ebx + 8], cx
je 0x43e94f
mov eax, ebx
call fcn.00435770
test eax, eax
jne 0x443550
mov edi, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xe8]
mov edx, eax
dec eax
mov dword [ebp - 0xe8], eax
test edx, edx
je case.0x43e36a.62
add ebx, 0x28
add esi, 0x28
jmp 0x43e920
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [edi + 8]
push 0x1000
lea edx, [eax + eax*4]
push ecx
lea eax, [ebx + edx*8]
push eax
call fcn.004360f0
add esp, 0xc
jmp case.0x43e36a.62
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ecx + 0x124]
test eax, eax
je 0x43e9c6
mov edx, dword [ebp - 0x18c]
cmp dword [ebp - 0x158], edx
jb 0x43e9c6
mov edx, dword [ecx + 0x128]
push edx
call eax
add esp, 4
test eax, eax
jne 0x442f50
mov esi, dword [ebp - 0xec]
push 0
call fcn.00439350
add esp, 4
mov dword [ebp - 0xd8], eax
test eax, eax
jne case.0x43e36a.62
push 1
push esi
call fcn.00439230
add esp, 8
mov dword [ebp - 0xd8], eax
test eax, eax
jne case.0x43e36a.62
mov eax, dword [esi + 0x48]
mov edx, dword [ebp - 0x128]
add eax, 2
or eax, 1
mov dword [esi + 0x48], eax
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
lea ebx, [edx + ecx*8]
mov dword [esi + 0x14], ebx
cmp dword [edi + 8], 0
mov dword [ebp - 0xf4], 0
jle 0x43ea72
jmp 0x43ea30
mov eax, 0x1000
test word [ebx + 8], ax
je 0x43ea56
mov eax, ebx
call fcn.00435770
test eax, eax
jne 0x443550
mov edi, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xec]
mov eax, ebx
call fcn.00435880
mov eax, dword [ebp - 0xf4]
inc eax
add ebx, 0x28
mov dword [ebp - 0xf4], eax
cmp eax, dword [edi + 8]
jl 0x43ea30
mov ecx, dword [ebp - 0xdc]
cmp byte [ecx + 0x41], 0
jne 0x443550
mov ecx, dword [ebp - 0xe0]
sub ecx, dword [ebp - 0x118]
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
lea ecx, [edx + eax + 1]
mov dword [esi + 0x4c], ecx
mov ebx, 0x64
jmp 0x442fff
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [edi + 8]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0xc]
lea edx, [ebx + edx*8]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
movzx eax, word [ecx + 8]
mov dword [ebp - 0xe4], ecx
mov cl, byte [edx + 8]
or cl, al
mov dword [ebp - 0xfc], edx
test cl, 1
je 0x43eaef
mov eax, ebx
call fcn.00435f40
jmp case.0x43e36a.62
test eax, 0x4000
je 0x43eb09
mov eax, dword [ebp - 0xe4]
call fcn.004357e0
test eax, eax
jne 0x443550
mov eax, dword [ebp - 0xfc]
mov edx, 0x4000
test word [eax + 8], dx
je 0x43eb27
call fcn.004357e0
test eax, eax
jne 0x443550
mov ecx, dword [ebp - 0xe4]
test byte [ecx + 8], 0x12
jne 0x43eb4e
mov edx, dword [ebp - 0x11d]
push 0
push edx
mov eax, ecx
call fcn.004358a0
add esp, 8
test eax, eax
jne 0x443550
mov eax, dword [ebp - 0xfc]
test byte [eax + 8], 0x12
jne 0x43eb73
mov ecx, dword [ebp - 0x11d]
push 0
push ecx
call fcn.004358a0
add esp, 8
test eax, eax
jne 0x443550
mov edx, dword [ebp - 0xe4]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0xfc]
add eax, dword [ecx + 0xc]
cdq
mov ecx, edx
mov edx, dword [ebp - 0xdc]
mov edi, eax
mov eax, dword [edx + 0x58]
cdq
mov dword [ebp - 0x2e0], edi
cmp ecx, edx
jg 0x443583
jl 0x43ebac
cmp edi, eax
ja 0x443583
mov esi, dword [ebp - 0xfc]
xor eax, eax
cmp ebx, esi
sete al
lea ecx, [edi + 2]
mov edi, ebx
call fcn.00435640
test eax, eax
jne 0x443550
mov ax, word [ebx + 8]
mov ecx, 0xbe02
and ax, cx
or ax, 2
mov word [ebx + 8], ax
cmp ebx, esi
je 0x43ebf7
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ecx, dword [ebx + 0x10]
push edx
push eax
push ecx
call fcn.004f8b20
add esp, 0xc
mov eax, dword [ebp - 0xe4]
mov edx, dword [eax + 0xc]
mov ecx, dword [ebx + 0x10]
mov eax, dword [eax + 0x10]
add ecx, dword [esi + 0xc]
push edx
push eax
push ecx
call fcn.004f8b20
mov eax, dword [ebp - 0x2e0]
mov edx, dword [ebx + 0x10]
mov byte [eax + edx], 0
mov ecx, dword [ebx + 0x10]
mov byte [ecx + eax + 1], 0
mov dword [ebx + 0xc], eax
mov al, byte [ebp - 0x11d]
mov edx, 0x200
add esp, 0xc
or word [ebx + 8], dx
mov byte [ebx + 0xa], al
jmp 0x4432f8
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
lea esi, [ebx + ecx*8]
mov eax, esi
call fcn.0043e1f0
movzx edx, ax
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [ebp - 0x114], edx
mov dword [ebp - 0xfc], eax
call fcn.0043e1f0
movzx ecx, ax
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
lea eax, [ebx + edx*8]
mov ebx, dword [ebp - 0xfc]
mov dword [ebp - 0xe8], ecx
mov cl, byte [ebx + 8]
or cl, byte [esi + 8]
mov dword [ebp - 0xe4], eax
test cl, 1
jne 0x43eefe
mov dl, byte [ebp - 0xe8]
and dl, byte [ebp - 0x114]
test dl, 4
je 0x43ede9
mov edx, dword [ebx]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [ebp - 0x148], edx
mov edx, dword [ebx + 4]
mov dword [ebp - 0x144], edx
movzx edx, byte [edi]
add edx, 0xffffffa7
mov byte [ebp - 0x119], 1
cmp edx, 3
ja case.default.0x43ecde
jmp dword [edx*4 + 0x44384c]
push ecx
push eax
lea eax, [ebp - 0x148]
push eax
call fcn.0041bf30
add esp, 0xc
test eax, eax
jne 0x43edf0
jmp 0x43edb9
push ecx
push eax
lea edx, [ebp - 0x148]
call fcn.0041bfd0
add esp, 8
test eax, eax
jne 0x43edf0
jmp 0x43edb9
push ecx
push eax
lea ecx, [ebp - 0x148]
push ecx
call fcn.0041c020
add esp, 0xc
test eax, eax
jne 0x43edf0
jmp 0x43edb9
mov edx, eax
or edx, ecx
je 0x43eefe
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x43ed67
cmp dword [ebp - 0x148], 0
jne 0x43ed67
cmp dword [ebp - 0x144], 0x80000000
je 0x43edf0
push ecx
mov ecx, dword [ebp - 0x148]
push eax
mov eax, dword [ebp - 0x144]
push eax
push ecx
call fcn.00500ca0
jmp 0x43edad
mov edx, eax
or edx, ecx
je 0x43eefe
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x43ed98
mov eax, 1
xor ecx, ecx
push ecx
mov ecx, dword [ebp - 0x148]
push eax
mov eax, dword [ebp - 0x144]
push eax
push ecx
call fcn.00500d50
mov dword [ebp - 0x144], edx
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0xe4]
mov edx, dword [ebp - 0x148]
mov ecx, dword [ebp - 0x144]
mov dword [eax], edx
mov dx, word [eax + 8]
mov dword [eax + 4], ecx
mov ecx, 0xbe04
and dx, cx
or dx, 4
mov word [eax + 8], dx
jmp case.0x43e36a.62
mov byte [ebp - 0x119], 0
mov eax, esi
call fcn.00435c40
fstp qword [ebp - 0xf8]
mov eax, ebx
call fcn.00435c40
movzx eax, byte [edi]
add eax, 0xffffffa7
cmp eax, 3
ja case.default.0x43ee0f
jmp dword [eax*4 + 0x44385c]
fadd qword [ebp - 0xf8]
jmp 0x43ee92
fsub qword [ebp - 0xf8]
jmp 0x43ee92
fmul qword [ebp - 0xf8]
jmp 0x43ee92
fld qword [ebp - 0xf8]
fld st(0)
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x43eefa
fdivp st(1)
jmp 0x43ee92
fld qword [ebp - 0xf8]
call fcn.004fb996
mov esi, eax
mov ebx, edx
call fcn.004fb996
mov ecx, esi
or ecx, ebx
je 0x43eefe
mov ecx, esi
and ecx, ebx
cmp ecx, 0xffffffff
jne 0x43ee77
mov esi, 1
xor ebx, ebx
push ebx
push esi
push edx
push eax
call fcn.00500d50
mov dword [ebp - 0x228], eax
mov dword [ebp - 0x224], edx
fild qword [ebp - 0x228]
sub esp, 8
fst qword [ebp - 0xf8]
fstp qword [esp]
call fcn.0041ac70
add esp, 8
test eax, eax
jne 0x43eefe
mov eax, dword [ebp - 0xe4]
fld qword [ebp - 0xf8]
mov dx, word [eax + 8]
fstp qword [eax]
mov ecx, 0xbe08
and dx, cx
or dx, 8
mov word [eax + 8], dx
mov dl, byte [ebp - 0xe8]
or dl, byte [ebp - 0x114]
test dl, 8
jne case.0x43e36a.62
cmp byte [ebp - 0x119], 0
jne case.0x43e36a.62
mov edi, eax
call fcn.00435c90
jmp 0x4432f8
fstp st(0)
fstp st(0)
mov eax, dword [ebp - 0xe4]
call fcn.00435f40
jmp case.0x43e36a.62
mov eax, dword [edi + 4]
test eax, eax
je case.0x43e36a.62
lea eax, [eax + eax*4]
push 0
push 0
lea eax, [ebx + eax*8]
call fcn.00435fa0
add esp, 8
jmp case.0x43e36a.62
movzx ebx, byte [edi + 3]
mov esi, dword [ebp - 0xdc]
lea ecx, [ebx*4 + 0x1c]
push 0
push ecx
call fcn.004184b0
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x443550
mov esi, dword [ebp - 0xe0]
mov dword [ecx], 0
mov edx, dword [esi + 0x10]
mov dword [ecx + 4], edx
mov edx, esi
sub edx, dword [ebp - 0x118]
mov eax, 0x66666667
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0xec]
mov byte [ecx + 0x1a], bl
mov ebx, dword [ebp - 0x128]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0xc], edx
mov dword [esi + 0x10], ecx
mov word [esi], 0xec24
mov edi, esi
mov esi, edx
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x10]
lea ecx, [ecx + ecx*4]
lea ecx, [ebx + ecx*8]
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xe4], ecx
cmp dword [eax], ecx
je 0x43efe3
mov dword [eax], ecx
movzx ecx, byte [eax + 0x1a]
dec ecx
js 0x43efe3
lea edx, [eax + ecx*4 + 0x1c]
jmp 0x43efd0
mov eax, dword [edi + 8]
add eax, ecx
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [edx], eax
sub edx, 4
dec ecx
jns 0x43efd0
mov ebx, dword [ebp - 0x100]
mov eax, dword [ebx]
mov cx, word [eax + 8]
mov edx, 0xbe01
and cx, dx
mov edx, dword [ebp - 0x14c]
or cx, 1
mov word [eax + 8], cx
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0x150]
mov byte [ebx + 0x19], 0
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], edx
movzx edx, byte [ebx + 0x1a]
mov eax, dword [ebx + 4]
mov eax, dword [eax + 0xc]
lea ecx, [ebx + 0x1c]
push ecx
push edx
push ebx
call eax
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x24]
add esp, 0xc
cmp byte [ebx + 0x19], 0
mov dword [ebp - 0x150], ecx
mov dword [ebp - 0x14c], edx
je 0x43f095
cmp dword [ebx + 0x14], 0
je 0x43f077
mov eax, dword [ebx]
push eax
call fcn.0043b970
add esp, 4
push eax
push 0x54e03c
push esi
call fcn.00436b70
mov ecx, dword [ebx + 0x14]
add esp, 0xc
mov dword [ebp - 0xd8], ecx
mov edx, dword [edi + 4]
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0x10]
push edx
push ecx
mov ebx, esi
call fcn.004398c0
mov ebx, dword [ebp - 0x100]
add esp, 8
mov edx, dword [ebp - 0xe4]
test byte [edx + 8], 0x12
je case.0x43e36a.62
movzx ecx, byte [ebp - 0x11d]
mov eax, dword [ebx]
call fcn.00435620
mov ecx, dword [ebx]
call fcn.00436090
test eax, eax
jne 0x443583
jmp case.0x43e36a.62
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
lea eax, [ebx + edx*8]
mov dl, byte [ebx + ecx*8 + 8]
or dl, byte [esi + 8]
lea ecx, [ebx + ecx*8]
mov dword [ebp - 0xe4], eax
test dl, 1
je 0x43f0fe
call fcn.00435f40
jmp case.0x43e36a.62
call fcn.00435bd0
mov ecx, esi
mov dword [ebp - 0x160], eax
mov ebx, edx
call fcn.00435bd0
mov esi, eax
mov al, byte [edi]
cmp al, 0x55
jne 0x43f127
and dword [ebp - 0x160], esi
and ebx, edx
jmp 0x43f20f
cmp al, 0x56
jne 0x43f138
or dword [ebp - 0x160], esi
or ebx, edx
jmp 0x43f20f
mov ecx, esi
or ecx, edx
je 0x43f20f
test edx, edx
jg 0x43f170
jl 0x43f14c
test esi, esi
jae 0x43f165
mov cl, 0xaf
sub cl, al
mov al, cl
cmp edx, 0xffffffff
jl 0x43f170
jg 0x43f15e
cmp esi, 0xffffffc0
jbe 0x43f170
neg esi
adc edx, 0
neg edx
test edx, edx
jl 0x43f19e
jg 0x43f170
cmp esi, 0x40
jb 0x43f19e
test ebx, ebx
jg 0x43f191
jl 0x43f17f
cmp dword [ebp - 0x160], 0
jae 0x43f191
cmp al, 0x57
je 0x43f191
or eax, 0xffffffff
cdq
mov dword [ebp - 0x160], eax
mov ebx, edx
jmp 0x43f20f
xor eax, eax
cdq
mov dword [ebp - 0x160], eax
mov ebx, edx
jmp 0x43f20f
cmp al, 0x57
mov eax, dword [ebp - 0x160]
mov edx, ebx
mov ecx, esi
jne 0x43f1bf
call fcn.0050e6c0
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x184], edx
jmp 0x43f1fd
call fcn.004fb370
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x184], edx
test ebx, ebx
jg 0x43f1fd
jl 0x43f1df
cmp dword [ebp - 0x160], 0
jae 0x43f1fd
mov ecx, 0x40
sub ecx, esi
or eax, 0xffffffff
or edx, 0xffffffff
call fcn.0050e6c0
or dword [ebp - 0x188], eax
or dword [ebp - 0x184], edx
mov edx, dword [ebp - 0x188]
mov ebx, dword [ebp - 0x184]
mov dword [ebp - 0x160], edx
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0x160]
mov dx, word [eax + 8]
mov dword [eax], ecx
mov ecx, 0xbe04
and dx, cx
or dx, 4
mov dword [eax + 4], ebx
mov word [eax + 8], dx
jmp case.0x43e36a.62
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x128]
lea esi, [eax + edx*8]
call fcn.00435d30
mov eax, dword [edi + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
jmp case.0x43e36a.62
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
movzx eax, word [ebx + ecx*8 + 8]
lea esi, [ebx + ecx*8]
test al, 4
jne 0x43f2b1
test al, 8
jne 0x43f283
test al, 2
je 0x43f290
push 1
mov eax, esi
call fcn.0043e030
add esp, 4
jmp 0x43f290
mov edi, esi
call fcn.00435c90
mov edi, dword [ebp - 0xe0]
movzx eax, word [esi + 8]
test al, 4
jne 0x43f2b1
cmp dword [edi + 8], 0
jne 0x4432e2
mov dword [ebp - 0xd8], 0x14
jmp 0x4412fa
and eax, 0xbe04
or eax, 4
mov word [esi + 8], ax
jmp case.0x43e36a.62
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
test byte [ebx + edx*8 + 8], 4
lea esi, [ebx + edx*8]
je case.0x43e36a.62
call fcn.00435d60
jmp case.0x43e36a.62
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov ecx, 0x4000
test word [esi + 8], cx
je 0x43f316
mov eax, esi
call fcn.004357e0
mov dl, byte [ebp - 0x11d]
mov cl, byte [edi + 8]
mov dword [ebp - 0xd8], eax
mov eax, esi
call fcn.00435e80
jmp case.0x43e36a.62
mov dl, byte [ebp - 0x11d]
mov cl, byte [edi + 8]
mov eax, esi
mov dword [ebp - 0xd8], 0
call fcn.00435e80
jmp case.0x43e36a.62
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0xc]
lea ecx, [ebx + edx*8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
movzx eax, word [ecx + 8]
mov dword [ebp - 0xe4], ecx
mov ecx, eax
mov dword [ebp - 0x110], ecx
movzx ecx, word [esi + 8]
mov edx, eax
mov dword [ebp - 0xfc], ecx
or cl, dl
test cl, 1
je 0x43f3ce
mov al, byte [edi + 3]
test al, al
jns 0x43f39a
test dl, 1
je 0x43f390
mov eax, dword [ebp - 0xfc]
test al, 1
je 0x43f390
test eax, 0x100
jne 0x43f390
xor eax, eax
jmp 0x43f508
mov eax, 1
jmp 0x43f508
test al, 0x20
je 0x43f3c1
mov eax, dword [edi + 8]
lea edx, [eax + eax*4]
mov cx, word [ebx + edx*8 + 8]
lea eax, [ebx + edx*8]
mov edx, 0xbe01
and cx, dx
or cx, 1
mov word [eax + 8], cx
jmp case.0x43e36a.62
test al, 0x10
jne 0x4432e2
jmp case.0x43e36a.62
mov cl, byte [edi + 3]
and cl, 0x47
cmp cl, 0x43
jl 0x43f40d
and al, 0xe
cmp al, 2
jne 0x43f3ef
mov eax, dword [ebp - 0xe4]
push 0
call fcn.0043e030
add esp, 4
mov al, byte [esi + 8]
and al, 0xe
cmp al, 2
jne 0x43f49a
push 0
mov eax, esi
call fcn.0043e030
add esp, 4
jmp 0x43f49a
cmp cl, 0x42
jne 0x43f49a
test al, 2
jne 0x43f45b
test al, 0xc
je 0x43f45b
mov ecx, dword [ebp - 0x11d]
mov eax, dword [ebp - 0xe4]
push 1
push ecx
call fcn.004358a0
mov eax, dword [ebp - 0xe4]
mov dx, word [eax + 8]
xor dx, word [ebp - 0x110]
mov ecx, 0x1ff
and dx, cx
add esp, 8
xor dx, word [eax + 8]
movzx edx, dx
mov dword [ebp - 0x110], edx
movzx eax, word [esi + 8]
test al, 2
jne 0x43f49a
test al, 0xc
je 0x43f49a
mov eax, dword [ebp - 0x11d]
push 1
push eax
mov eax, esi
call fcn.004358a0
mov cx, word [esi + 8]
xor cx, word [ebp - 0xfc]
mov edx, 0x1ff
and cx, dx
add esp, 8
xor cx, word [esi + 8]
movzx eax, cx
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0xe4]
mov ecx, 0x4000
test word [eax + 8], cx
je 0x43f4ba
call fcn.004357e0
and dword [ebp - 0x110], 0xbfff
mov edx, 0x4000
test word [esi + 8], dx
je 0x43f4d6
mov eax, esi
call fcn.004357e0
and dword [ebp - 0xfc], 0xbfff
mov eax, dword [ebp - 0xdc]
cmp byte [eax + 0x41], 0
jne 0x443550
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ecx + 0x10]
mov eax, dword [ebp - 0xe4]
mov ecx, esi
call fcn.0043a610
mov edi, dword [ebp - 0xe0]
mov edx, dword [ebp - 0x110]
movzx ecx, byte [edi]
add ecx, 0xffffffb2
cmp ecx, 4
ja case.default.0x43f513
jmp dword [ecx*4 + 0x44386c]
xor ecx, ecx
test eax, eax
sete cl
jmp 0x43f54e
xor ecx, ecx
test eax, eax
setne cl
jmp 0x43f54e
xor ecx, ecx
test eax, eax
sets cl
jmp 0x43f54e
xor ecx, ecx
test eax, eax
setle cl
jmp 0x43f54e
xor ecx, ecx
test eax, eax
setg cl
jmp 0x43f54e
xor ecx, ecx
test eax, eax
setns cl
mov eax, ecx
mov ecx, dword [ebp - 0xe4]
mov word [ecx + 8], dx
mov dx, word [ebp - 0xfc]
mov word [esi + 8], dx
test byte [edi + 3], 0x20
je 0x43f87a
mov ecx, dword [edi + 8]
lea ecx, [ecx + ecx*4]
mov dx, word [ebx + ecx*8 + 8]
lea ecx, [ebx + ecx*8]
mov esi, 0xbe04
and dx, si
or dx, 4
mov word [ecx + 8], dx
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x43e36a.62
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x190], eax
jmp case.0x43e36a.62
test byte [edi + 3], 1
jne 0x43f5b6
mov dword [ebp - 0x190], 0
mov edx, dword [edi + 4]
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x108], edx
mov edx, dword [edi + 8]
xor esi, esi
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0x124], edx
test eax, eax
jle 0x43f678
add ecx, 0x14
mov dword [ebp - 0x100], ecx
lea ecx, [ecx]
mov eax, dword [ebp - 0x190]
test eax, eax
je 0x43f5ff
mov ecx, dword [eax + esi*4]
jmp 0x43f601
mov ecx, esi
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 0x10]
movzx eax, byte [esi + edx]
mov edx, dword [ebp - 0x124]
mov dword [ebp - 0x114], eax
lea eax, [ecx + edx]
add ecx, dword [ebp - 0x108]
mov edx, dword [ebp - 0x100]
mov edx, dword [edx]
lea eax, [eax + eax*4]
lea ecx, [ecx + ecx*4]
lea eax, [ebx + eax*8]
lea ecx, [ebx + ecx*8]
call fcn.0043a610
mov dword [ebp - 0x198], eax
test eax, eax
jne 0x43f661
add dword [ebp - 0x100], 4
inc esi
cmp esi, dword [ebp - 0xe8]
jl 0x43f5f0
mov dword [ebp - 0x190], eax
jmp case.0x43e36a.62
cmp dword [ebp - 0x114], 0
je 0x43f678
mov eax, dword [ebp - 0x198]
neg eax
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x190], 0
jmp case.0x43e36a.62
mov eax, dword [ebp - 0x198]
mov edx, dword [ebp - 0x118]
test eax, eax
jns 0x43f6ac
mov edi, dword [edi + 4]
lea ecx, [edi + edi*4]
lea eax, [edx + ecx*4 - 0x14]
mov dword [ebp - 0xe0], eax
jmp 0x4432f8
jne 0x43f6c3
mov edi, dword [edi + 8]
lea ecx, [edi + edi*4]
lea eax, [edx + ecx*4 - 0x14]
mov dword [ebp - 0xe0], eax
jmp 0x4432f8
mov edi, dword [edi + 0xc]
lea ecx, [edi + edi*4]
lea eax, [edx + ecx*4 - 0x14]
mov dword [ebp - 0xe0], eax
jmp 0x4432f8
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
test byte [ebx + ecx*8 + 8], 1
lea ecx, [ebx + ecx*8]
je 0x43f6ef
mov esi, 2
jmp 0x43f701
call fcn.00435bd0
or eax, edx
je 0x43f6ff
mov esi, 1
jmp 0x43f701
xor esi, esi
mov eax, dword [edi + 8]
lea edx, [eax + eax*4]
test byte [ebx + edx*8 + 8], 1
lea ecx, [ebx + edx*8]
je 0x43f718
mov eax, 2
jmp 0x43f72a
call fcn.00435bd0
or eax, edx
je 0x43f728
mov eax, 1
jmp 0x43f72a
xor eax, eax
cmp byte [edi], 0x48
jne 0x43f73c
lea eax, [eax + esi*2]
movzx eax, byte [esi + eax + 0x5349d0]
jmp 0x43f747
lea ecx, [eax + esi*2]
movzx eax, byte [esi + ecx + 0x5349dc]
mov ecx, dword [edi + 0xc]
lea edx, [ecx + ecx*4]
lea ebx, [ebx + edx*8]
cmp eax, 2
jne 0x43f76e
mov ax, word [ebx + 8]
mov ecx, 0xbe01
and ax, cx
or ax, 1
mov word [ebx + 8], ax
jmp case.0x43e36a.62
cdq
mov dword [ebx + 4], edx
mov dx, word [ebx + 8]
mov dword [ebx], eax
mov eax, 0xbe04
and dx, ax
or dx, 4
mov word [ebx + 8], dx
jmp case.0x43e36a.62
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 8]
lea edx, [eax + eax*4]
lea esi, [ebx + ecx*8]
lea ebx, [ebx + edx*8]
mov eax, ebx
call fcn.00435f40
test byte [esi + 8], 1
jne case.0x43e36a.62
mov eax, 4
mov ecx, esi
mov word [ebx + 8], ax
call fcn.00435bd0
or eax, edx
jne 0x43f7d4
mov eax, 1
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp case.0x43e36a.62
xor eax, eax
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp case.0x43e36a.62
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 8]
lea edx, [eax + eax*4]
lea esi, [ebx + ecx*8]
lea ebx, [ebx + edx*8]
mov eax, ebx
call fcn.00435f40
test byte [esi + 8], 1
jne case.0x43e36a.62
mov eax, 4
mov ecx, esi
mov word [ebx + 8], ax
call fcn.00435bd0
not eax
not edx
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp case.0x43e36a.62
mov eax, dword [esi + 0xc8]
mov edx, dword [edi + 4]
cmp byte [eax + edx], 0
jne 0x4432e2
mov byte [eax + edx], 1
jmp case.0x43e36a.62
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 8], 1
lea eax, [ebx + eax*8]
je 0x43f853
mov eax, dword [edi + 0xc]
jmp 0x43f87a
call fcn.00435c40
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x43f86a
mov eax, 1
jmp 0x43f86c
xor eax, eax
cmp byte [edi], 0x2e
jne 0x43f87a
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
test eax, eax
jne 0x4432e2
jmp case.0x43e36a.62
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
test byte [ebx + edx*8 + 8], 1
jne 0x4432e2
jmp case.0x43e36a.62
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 8], 1
je 0x4432e2
jmp case.0x43e36a.62
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 8]
lea edx, [eax + eax*4]
lea eax, [ebx + edx*8]
mov edx, dword [esi + 0x38]
mov dword [ebp - 0x10c], ecx
mov ecx, dword [edi + 4]
mov ebx, dword [edx + ecx*4]
cmp byte [ebx + 0x1a], 0
mov dword [ebp - 0xe4], eax
mov eax, dword [ebx + 0x50]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebx]
mov dword [ebp - 0x110], eax
je 0x43f950
mov esi, ebx
call fcn.00439e20
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
jne 0x4412fa
mov eax, dword [ebp - 0x110]
mov ecx, dword [ebx + 0x3c]
mov edx, dword [ebp - 0xec]
cmp ecx, dword [edx + 0x48]
je 0x43fa94
cmp byte [ebx + 0x19], 0
je 0x43f98d
test eax, eax
jne 0x43f97b
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebp - 0x128]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [ecx + 0xc]
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x40], eax
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x174], eax
mov dword [ebx + 0x4c], edx
jmp 0x43fa14
test eax, eax
je 0x43f96f
cmp byte [eax + 0x42], 1
je 0x43f96f
mov edi, ebx
call fcn.00439e80
mov edi, dword [ebp - 0xe0]
mov dword [ebp - 0xd8], eax
jmp 0x43f8f8
mov dword [ebp - 0xd8], 0
jmp 0x43f90b
mov esi, dword [ebp - 0xe4]
mov eax, esi
call fcn.00435f40
jmp 0x43fdb2
test byte [ebx + 0x1c], 4
mov esi, dword [ebp - 0x110]
mov eax, esi
jne 0x43f9d1
call fcn.0042e060
mov eax, dword [esi + 0x10]
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x1e8], eax
mov ecx, dword [esi + 0x14]
lea esi, [ebp - 0x174]
mov dword [ebp - 0x1e4], ecx
call fcn.0042e590
mov dword [ebx + 0x4c], eax
mov edx, dword [ebp - 0x1e8]
mov dword [ebx + 0x40], edx
jmp 0x43f9f0
call fcn.0042e060
mov eax, dword [esi + 0x1c]
mov edx, dword [ebp - 0x110]
lea esi, [ebp - 0x174]
mov dword [ebx + 0x40], eax
call fcn.0042e590
mov dword [ebx + 0x4c], eax
mov eax, dword [ebx + 0x40]
mov ecx, dword [ebp - 0x174]
cmp eax, ecx
ja 0x43fa02
mov dword [ebx + 0x44], eax
jmp 0x43fa05
mov dword [ebx + 0x44], ecx
mov ecx, dword [ebp - 0xdc]
cmp eax, dword [ecx + 0x58]
ja 0x44357d
mov edx, dword [ebp - 0xec]
mov eax, dword [edx + 0x48]
mov ecx, dword [ebx + 0x4c]
mov dword [ebx + 0x3c], eax
mov al, byte [ecx]
cmp al, 0x80
jae 0x43fa39
movzx eax, al
mov dword [ebp - 0x154], eax
mov ecx, 1
jmp 0x43fa4d
lea esi, [ebp - 0x154]
call fcn.0041bd80
movzx ecx, al
mov eax, dword [ebp - 0x154]
movzx ecx, cl
mov dword [ebx + 0x48], ecx
mov ecx, dword [ebp - 0xfc]
xor edx, edx
mov word [ebx + 0x16], dx
mov dword [ecx], eax
cmp eax, 0x18003
ja 0x43fa7f
cmp eax, dword [ebx + 0x40]
ja 0x43fa7f
cmp dword [ebp - 0x174], eax
jae 0x43faa4
xor eax, eax
mov dword [ebx + 0x4c], eax
mov dword [ebx + 0x44], eax
jmp 0x43faa4
mov eax, 0x122f4
call fcn.0048e9c0
mov dword [ebp - 0xd8], eax
jmp case.0x43e36a.62
movzx edx, word [ebx + 0x16]
cmp edx, dword [ebp - 0x10c]
jg 0x43fcb3
mov eax, dword [ebx + 0x48]
mov ecx, dword [ebp - 0xfc]
cmp eax, dword [ecx]
jae 0x43fc74
mov eax, dword [ebx + 0x4c]
test eax, eax
jne 0x43fb37
mov dword [ebp - 0x250], eax
mov dword [ebp - 0x24c], eax
mov dword [ebp - 0x248], eax
mov dword [ebp - 0x244], eax
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x23c], eax
mov dword [ebp - 0x238], eax
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x230], eax
mov dword [ebp - 0x22c], eax
mov edx, dword [ebx + 0x1c]
shr edx, 2
not edx
and edx, 1
push edx
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x110]
push eax
lea eax, [ebp - 0x250]
call fcn.00436520
add esp, 8
mov dword [ebp - 0xd8], eax
test eax, eax
jne case.0x43e36a.62
mov edx, dword [ebp - 0x240]
mov dword [ebp - 0x100], edx
jmp 0x43fb3d
mov dword [ebp - 0x100], eax
movzx ecx, word [ebx + 0x16]
mov eax, dword [ebp - 0xfc]
mov edx, dword [eax + ecx*4]
mov esi, dword [ebx + 0x48]
mov eax, dword [eax]
add esi, dword [ebp - 0x100]
add eax, dword [ebp - 0x100]
mov dword [ebp - 0x108], ecx
mov dword [ebp - 0xe8], eax
lea eax, [ebx + ecx*4 + 0x54]
mov dword [ebp - 0x154], edx
mov dword [ebp - 0x104], esi
mov dword [ebp - 0x114], eax
lea ecx, [ecx]
mov al, byte [esi]
cmp al, 0x80
jae 0x43fb98
movzx eax, al
inc esi
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x104], esi
jmp 0x43fbc4
mov ecx, dword [ebp - 0x104]
lea esi, [ebp - 0x164]
call fcn.0041bd80
movzx ecx, al
add dword [ebp - 0x104], ecx
mov eax, dword [ebp - 0x164]
mov esi, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x108]
mov edx, dword [ebp - 0x114]
mov dword [edx], eax
call fcn.00439fc0
mov edx, dword [ebp - 0x154]
add edx, eax
mov dword [ebp - 0x154], edx
cmp edx, eax
jb 0x43fc10
add dword [ebp - 0x114], 4
mov eax, dword [ebp - 0xfc]
inc ecx
mov dword [ebp - 0x108], ecx
mov dword [eax + ecx*4], edx
cmp ecx, dword [ebp - 0x10c]
jg 0x43fc17
cmp esi, dword [ebp - 0xe8]
jb 0x43fb80
jmp 0x43fc17
mov esi, dword [ebp - 0xe8]
inc esi
mov word [ebx + 0x16], cx
mov ecx, esi
sub ecx, dword [ebp - 0x100]
cmp dword [ebx + 0x4c], 0
mov dword [ebx + 0x48], ecx
jne 0x43fc49
lea eax, [ebp - 0x250]
call fcn.00435b50
mov edx, 1
mov word [ebp - 0x248], dx
mov edx, dword [ebp - 0x154]
mov eax, dword [ebp - 0xe8]
cmp esi, eax
jb 0x43fc5a
ja 0x43fc5f
cmp edx, dword [ebx + 0x40]
jne 0x43fc5f
cmp edx, dword [ebx + 0x40]
jbe 0x43fc74
mov eax, 0x12348
call fcn.0048e9c0
mov dword [ebp - 0xd8], eax
jmp case.0x43e36a.62
movzx eax, word [ebx + 0x16]
cmp eax, dword [ebp - 0x10c]
jg 0x43fcb3
cmp byte [edi + 1], 0xf8
jne 0x43fca3
mov ecx, dword [edi + 0x10]
mov edx, dword [ebp - 0xe4]
push 0x800
push ecx
push edx
call fcn.004360f0
add esp, 0xc
jmp 0x43fdac
mov eax, dword [ebp - 0xe4]
call fcn.00435f40
jmp 0x43fdac
mov ecx, dword [ebp - 0xe4]
mov eax, 0x2460
test word [ecx + 8], ax
je 0x43fccb
mov eax, ecx
call fcn.00435f40
mov eax, dword [ebp - 0x10c]
mov ecx, dword [ebx + 0x44]
mov esi, dword [ebp - 0xfc]
mov edx, dword [ebx + eax*4 + 0x54]
mov dword [ebp - 0x164], edx
cmp ecx, dword [esi + eax*4 + 4]
jb 0x43fd00
mov ecx, dword [ebx + 0x4c]
add ecx, dword [esi + eax*4]
mov eax, dword [ebp - 0xe4]
call fcn.0043a0e0
jmp 0x43fd9d
mov al, byte [edi + 3]
test al, 0xc0
je 0x43fd15
cmp edx, 0xc
jb 0x43fd11
test dl, 1
je 0x43fd22
test al, al
js 0x43fd22
mov eax, edx
call fcn.00439fc0
mov ecx, eax
test ecx, ecx
jne 0x43fd42
mov ecx, 0xd
cmp ecx, edx
sbb ecx, ecx
not ecx
lea eax, [ebp - 0x1e8]
and ecx, eax
mov eax, dword [ebp - 0xe4]
call fcn.0043a0e0
jmp 0x43fd9d
mov edx, dword [ebx + 0x1c]
mov eax, dword [ebp - 0x10c]
mov esi, dword [ebp - 0xe4]
shr edx, 2
not edx
and edx, 1
push edx
mov edx, dword [ebp - 0xfc]
mov eax, dword [edx + eax*4]
push eax
mov edx, ecx
mov ecx, dword [ebp - 0x110]
mov eax, esi
call fcn.00436520
add esp, 8
mov dword [ebp - 0xd8], eax
test eax, eax
jne case.0x43e36a.62
mov edx, dword [ebp - 0x164]
mov ecx, dword [esi + 0x10]
mov eax, esi
call fcn.0043a0e0
mov ecx, 0xefff
and word [esi + 8], cx
mov dl, byte [ebp - 0x11d]
mov eax, dword [ebp - 0xe4]
mov byte [eax + 0xa], dl
mov esi, dword [ebp - 0xe4]
movzx eax, word [esi + 8]
test eax, 0x1000
je case.0x43e36a.62
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0xf4], ecx
test ecx, ecx
je case.0x43e36a.62
mov ebx, dword [esi + 0xc]
mov ecx, eax
and ecx, 0x12
mov dword [ebp - 0x124], ecx
lea ecx, [ebx + 2]
cmp dword [esi + 0x18], ecx
jge 0x43fe36
xor eax, eax
mov edi, esi
call fcn.00435640
test eax, eax
jne 0x443550
mov edi, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xf4]
mov ecx, dword [esi + 0x10]
push ebx
push eax
push ecx
call fcn.004f8b20
mov edx, dword [esi + 0x10]
mov byte [ebx + edx], 0
mov eax, dword [esi + 0x10]
mov byte [eax + ebx + 1], 0
mov eax, dword [ebp - 0x124]
add esp, 0xc
or eax, 0x200
mov word [esi + 8], ax
jmp case.0x43e36a.62
mov edx, dword [esi + 0x14]
and eax, 0xd
mov dword [esi + 0x10], edx
mov word [esi + 8], ax
jmp 0x43fdff
mov eax, dword [edi + 4]
mov esi, dword [edi + 0x10]
lea ecx, [eax + eax*4]
mov al, byte [esi]
lea ebx, [ebx + ecx*8]
test al, al
je case.0x43e36a.62
jmp 0x43fe60
mov edx, dword [ebp - 0x11d]
push edx
mov ecx, ebx
inc esi
call fcn.0043e0b0
mov al, byte [esi]
add esp, 4
add ebx, 0x28
test al, al
jne 0x43fe60
jmp case.0x43e36a.62
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xe8], eax
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [edi + 8]
mov edi, dword [edi + 0xc]
lea edx, [ebx + edx*8]
lea eax, [eax + eax*4]
mov dword [ebp - 0x114], edx
lea edx, [edx + eax*8 - 0x28]
movzx eax, byte [esi + 0x57]
xor ecx, ecx
mov dword [ebp - 0x104], edx
lea edx, [edi + edi*4]
mov dword [ebp - 0xf4], eax
lea eax, [ebx + edx*8]
mov dword [ebp - 0x170], ecx
mov dword [ebp - 0x16c], ecx
mov dword [ebp - 0xfc], ecx
mov dword [ebp - 0x180], ecx
mov dword [ebp - 0x17c], ecx
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe8], ecx
je 0x43ff1c
mov ecx, dword [ebp - 0xe8]
mov edi, dword [ebp - 0x114]
mov al, byte [ecx]
mov ebx, ecx
lea esp, [esp]
mov edx, dword [ebp - 0x11d]
push edx
mov ecx, edi
call fcn.0043e0b0
mov al, byte [ebx + 1]
inc ebx
add esp, 4
add edi, 0x28
test al, al
jne 0x43ff00
mov edi, dword [ebp - 0x104]
mov eax, dword [ebp - 0xf4]
push eax
mov edx, edi
call fcn.00439ec0
mov ebx, eax
add esp, 4
mov dword [edi + 0x1c], ebx
call fcn.00439fc0
mov ecx, 0x4000
mov dword [ebp - 0xe8], eax
test word [edi + 8], cx
je 0x43ff7c
mov edx, dword [ebp - 0x170]
or edx, dword [ebp - 0x16c]
je 0x43ff65
mov eax, edi
call fcn.004357e0
jmp 0x43ff7c
mov eax, dword [edi]
cdq
add dword [ebp - 0x180], eax
mov eax, dword [edi]
adc dword [ebp - 0x17c], edx
sub dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xe8]
cdq
add dword [ebp - 0x170], eax
adc dword [ebp - 0x16c], edx
cmp ebx, 0x7f
ja 0x43ff9b
mov eax, 1
jmp 0x43ffa6
push 0
push ebx
call fcn.0041bdf0
add esp, 8
add dword [ebp - 0xfc], eax
sub edi, 0x28
cmp edi, dword [ebp - 0x114]
jae 0x43ff22
cmp dword [ebp - 0xfc], 0x7e
jg 0x43ffd2
inc dword [ebp - 0xfc]
mov edi, dword [ebp - 0xfc]
jmp 0x440004
mov edi, dword [ebp - 0xfc]
mov eax, edi
cdq
push edx
push eax
call fcn.0041bdf0
mov ebx, eax
add edi, ebx
mov eax, edi
cdq
push edx
push eax
mov dword [ebp - 0xfc], edi
call fcn.0041bdf0
add esp, 0x10
cmp ebx, eax
jge 0x440004
inc edi
mov dword [ebp - 0xfc], edi
mov ebx, dword [ebp - 0x170]
mov eax, edi
cdq
mov ecx, eax
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x58]
add ebx, ecx
mov dword [ebp - 0x1d0], ecx
mov ecx, dword [ebp - 0x16c]
adc ecx, edx
mov edi, ebx
add edi, dword [ebp - 0x180]
mov dword [ebp - 0x1cc], edx
adc ecx, dword [ebp - 0x17c]
cdq
mov dword [ebp - 0x2c0], ebx
cmp ecx, edx
jg 0x443583
jl 0x440055
cmp edi, eax
ja 0x443583
mov edi, dword [ebp - 0xe4]
cmp dword [edi + 0x18], ebx
jge 0x440091
xor eax, eax
mov ecx, ebx
call fcn.00435640
test eax, eax
jne 0x443550
mov ebx, dword [ebp - 0xfc]
mov esi, dword [edi + 0x10]
mov dword [ebp - 0xe8], esi
cmp ebx, 0x80
jae 0x44009e
mov byte [esi], bl
mov eax, 1
jmp 0x4400b4
mov ecx, dword [edi + 0x14]
and word [edi + 8], 0xd
mov dword [edi + 0x10], ecx
jmp 0x440071
mov edx, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1d0]
push edx
push eax
call fcn.0041bba0
add esp, 8
movzx ecx, al
mov dword [ebp - 0x108], ebx
mov ebx, dword [ebp - 0x114]
mov dword [ebp - 0x100], ecx
lea esp, [esp]
mov ecx, dword [ebx + 0x1c]
mov dword [ebp - 0xf4], ecx
cmp ecx, 0x80
jae 0x4400f7
mov eax, dword [ebp - 0xe8]
mov edx, dword [ebp - 0x100]
mov byte [edx + eax], cl
mov eax, 1
jmp 0x440117
mov edx, dword [ebp - 0xe8]
mov esi, dword [ebp - 0x100]
push 0
push ecx
lea esi, [esi + edx]
call fcn.0041bba0
mov ecx, dword [ebp - 0xf4]
add esp, 8
mov edx, dword [ebp - 0xe8]
mov esi, dword [ebp - 0x108]
movzx eax, al
add dword [ebp - 0x100], eax
lea edi, [esi + edx]
mov eax, ebx
call fcn.00439fe0
add esi, eax
add ebx, 0x28
mov dword [ebp - 0x108], esi
cmp ebx, dword [ebp - 0x104]
jbe 0x4400d0
mov ecx, dword [ebp - 0x2c0]
mov eax, dword [ebp - 0xe4]
mov edx, 0x10
mov dword [eax + 0xc], ecx
mov ecx, dword [ebp - 0x180]
mov word [eax + 8], dx
mov edx, ecx
or edx, dword [ebp - 0x17c]
je 0x44017c
mov dword [eax], ecx
mov ecx, 0x4010
mov word [eax + 8], cx
mov byte [eax + 0xa], 1
jmp 0x4432f8
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x38]
mov ecx, dword [eax + edx*4]
mov eax, dword [ecx]
xor ecx, ecx
lea edx, [ebp - 0x1b8]
push edx
mov dword [ebp - 0x1b8], ecx
mov dword [ebp - 0x1b4], ecx
call fcn.00433140
mov ecx, dword [esi + 8]
mov dword [ebp - 0xd8], eax
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov edx, 0x2460
add esp, 4
test word [eax + 8], dx
je 0x4401e5
call fcn.0043e210
mov edx, dword [ebp - 0x1b8]
mov ecx, dword [ebp - 0x1b4]
mov dword [eax], edx
mov dword [eax + 4], ecx
jmp case.0x43e36a.62
mov edx, dword [ebp - 0x1b8]
mov ecx, 4
mov word [eax + 8], cx
mov ecx, dword [ebp - 0x1b4]
mov dword [eax], edx
mov dword [eax + 4], ecx
jmp case.0x43e36a.62
mov ecx, dword [edi + 4]
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x110], ecx
mov dword [ebp - 0xe8], eax
test ecx, ecx
jne 0x4402f7
mov edx, dword [ebp - 0xdc]
cmp dword [edx + 0x9c], ecx
jle 0x440236
push 0x54e040
jmp 0x440378
call fcn.0041aca0
mov esi, eax
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x1f4]
add ecx, dword [eax + 0x1f0]
mov dword [ebp - 0xf4], esi
push ecx
push 0
push eax
call fcn.0047c920
add esp, 0xc
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x4412fa
add esi, 0x21
push eax
push esi
mov esi, dword [ebp - 0xdc]
call fcn.004184b0
mov ebx, eax
add esp, 8
test ebx, ebx
je case.0x43e36a.62
mov edx, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xe8]
inc edx
push edx
lea eax, [ebx + 0x20]
push ecx
push eax
mov dword [ebx], eax
call fcn.004f8b20
add esp, 0xc
cmp byte [esi + 0x3f], 0
je 0x4402b9
mov byte [esi + 0x3f], 0
mov byte [esi + 0x46], 1
jmp 0x4402bf
inc dword [esi + 0x1f0]
mov edx, dword [esi + 0x1e8]
mov dword [ebx + 0x18], edx
mov eax, dword [esi + 0x1f8]
mov dword [esi + 0x1e8], ebx
mov dword [ebx + 8], eax
mov ecx, dword [esi + 0x1fc]
mov dword [ebx + 0xc], ecx
mov edx, dword [esi + 0x200]
mov dword [ebx + 0x10], edx
mov eax, dword [esi + 0x204]
mov dword [ebx + 0x14], eax
jmp case.0x43e36a.62
mov ecx, dword [ebp - 0xdc]
mov ebx, dword [ecx + 0x1e8]
mov dword [ebp - 0x10c], 0
test ebx, ebx
je 0x440334
mov edx, dword [ebx]
push eax
push edx
call fcn.0041af90
add esp, 8
test eax, eax
je 0x440352
mov ebx, dword [ebx + 0x18]
inc dword [ebp - 0x10c]
mov eax, dword [ebp - 0xe8]
test ebx, ebx
jne 0x440311
push eax
push 0x54e074
push esi
call fcn.00436b70
add esp, 0xc
mov dword [ebp - 0xd8], 1
jmp case.0x43e36a.62
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x100], ebx
mov ebx, dword [ebp - 0xdc]
xor ecx, ecx
cmp dword [ebx + 0x9c], ecx
jle 0x440390
cmp eax, 1
jne 0x440390
push 0x54e08c
push esi
call fcn.00436b70
add esp, 8
mov dword [ebp - 0xd8], 5
jmp case.0x43e36a.62
mov edx, dword [ebp - 0x100]
cmp dword [edx + 0x18], ecx
jne 0x4403f4
cmp byte [ebx + 0x46], cl
je 0x4403f4
mov dword [ebp - 0xe8], 1
cmp eax, 1
jne 0x4403fa
mov esi, dword [ebp - 0xec]
push eax
call fcn.00439350
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x442fff
mov ebx, dword [ebp - 0xdc]
mov eax, esi
mov byte [ebx + 0x3f], 1
call fcn.004393c0
cmp eax, 5
je 0x4433d3
mov byte [ebx + 0x46], 0
mov eax, dword [esi + 0x50]
mov dword [ebp - 0xd8], eax
jmp 0x4404fb
mov dword [ebp - 0xe8], ecx
mov edx, dword [ebx + 0x1f0]
sub edx, dword [ebp - 0x10c]
dec edx
mov dword [ebp - 0x10c], edx
cmp eax, 2
jne 0x440483
mov eax, dword [ebx + 0x18]
shr eax, 1
and eax, 1
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x104], ecx
cmp dword [ebx + 0x14], ecx
jle 0x440489
xor edx, edx
cmp eax, ecx
sete dl
xor esi, esi
mov dword [ebp - 0xf4], edx
lea ebx, [ebx]
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebx + 0x10]
mov edx, dword [ecx + esi + 4]
push eax
push 0x204
push edx
call fcn.0042dac0
add esp, 0xc
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x4412fa
mov eax, dword [ebp - 0x104]
inc eax
add esi, 0x10
mov dword [ebp - 0x104], eax
cmp eax, dword [ebx + 0x14]
jl 0x440440
xor ecx, ecx
jmp 0x440489
mov dword [ebp - 0x108], ecx
mov dword [ebp - 0x104], ecx
cmp dword [ebx + 0x14], ecx
jle 0x4404e0
xor esi, esi
jmp 0x4404a0
mov eax, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x110]
mov edx, dword [ebx + 0x10]
push eax
mov eax, dword [edx + esi + 4]
push ecx
call fcn.0042dd70
add esp, 8
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x4412fa
mov eax, dword [ebp - 0x104]
inc eax
add esi, 0x10
mov dword [ebp - 0x104], eax
cmp eax, dword [ebx + 0x14]
jl 0x4404a0
cmp dword [ebp - 0x108], 0
je 0x4404fb
mov eax, ebx
call fcn.0043b380
mov eax, ebx
call fcn.004540a0
or dword [ebx + 0x18], 2
mov esi, dword [ebp - 0x100]
cmp dword [ebx + 0x1e8], esi
je 0x44056e
lea esp, [esp]
cmp dword [ebx + 0x208], 0
mov eax, dword [ebx + 0x1e8]
mov ecx, dword [eax + 0x18]
mov dword [ebx + 0x1e8], ecx
je 0x440531
mov ecx, ebx
call fcn.004181f0
jmp 0x440560
cmp eax, dword [ebx + 0x114]
jb 0x440557
cmp eax, dword [ebx + 0x118]
jae 0x440557
mov edx, dword [ebx + 0x110]
mov dword [eax], edx
dec dword [ebx + 0xfc]
mov dword [ebx + 0x110], eax
jmp 0x440560
push eax
call fcn.00418180
add esp, 4
dec dword [ebx + 0x1f0]
cmp dword [ebx + 0x1e8], esi
jne 0x440510
cmp dword [ebp - 0x110], 1
jne 0x44059e
mov eax, dword [esi + 0x18]
mov dword [ebx + 0x1e8], eax
mov eax, esi
mov ecx, ebx
call fcn.00418230
cmp dword [ebp - 0xe8], 0
jne case.0x43e36a.62
dec dword [ebx + 0x1f0]
jmp 0x4405d8
cmp dword [ebp - 0xe8], 0
mov ecx, dword [esi + 8]
mov dword [ebx + 0x1f8], ecx
mov edx, dword [esi + 0xc]
mov dword [ebx + 0x1fc], edx
mov eax, dword [esi + 0x10]
mov dword [ebx + 0x200], eax
mov ecx, dword [esi + 0x14]
mov dword [ebx + 0x204], ecx
je 0x4405d8
cmp dword [ebp - 0x110], 2
jne case.0x43e36a.62
mov edx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x110]
push edx
push eax
push ebx
call fcn.0047c920
add esp, 0xc
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x4412fa
jmp case.0x43e36a.62
mov eax, dword [edi + 4]
mov ecx, dword [edi + 8]
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xf4], eax
test eax, eax
je 0x440634
cmp byte [edx + 0x3f], 0
jne 0x440634
test ecx, ecx
jne 0x440634
cmp dword [edx + 0x9c], ecx
jle 0x440634
push 0x54e0c4
jmp 0x440378
movzx edx, byte [edx + 0x3f]
cmp eax, edx
jne 0x4433fe
test eax, eax
jne 0x44064b
mov eax, 0x54e0fc
jmp 0x440659
mov eax, 0x54e12c
test ecx, ecx
jne 0x440659
mov eax, 0x54e158
push eax
push esi
call fcn.00436b70
add esp, 8
mov dword [ebp - 0xd8], 1
jmp case.0x43e36a.62
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x44068c
mov eax, dword [ebp - 0xdc]
test dword [eax + 0x18], 0x2000000
jne 0x4434a3
mov edx, dword [edi + 4]
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x10]
shl edx, 4
mov eax, dword [edx + eax + 4]
mov dword [ebp - 0x108], eax
test eax, eax
je 0x4407a3
push ecx
push eax
call fcn.0042cd60
add esp, 8
mov dword [ebp - 0xd8], eax
cmp eax, 5
je 0x4434b2
test eax, eax
jne 0x4412fa
cmp dword [edi + 8], eax
je 0x440774
test byte [esi + 0x58], 0x20
je 0x440774
mov ebx, dword [ebp - 0xdc]
cmp byte [ebx + 0x3f], al
je 0x4406f9
cmp dword [ebx + 0x98], 1
jle 0x44077a
cmp dword [esi + 0x68], 0
jne 0x440714
mov ecx, dword [ebx + 0x1f0]
inc dword [ebx + 0x1f4]
add ecx, dword [ebx + 0x1f4]
mov dword [esi + 0x68], ecx
mov edx, dword [esi + 0x68]
dec edx
push edx
push 0
push ebx
call fcn.0047c920
add esp, 0xc
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x440742
mov eax, dword [esi + 0x68]
mov ecx, dword [ebp - 0x108]
call fcn.0042dd10
mov dword [ebp - 0xd8], eax
mov eax, dword [ebx + 0x1f8]
mov dword [esi + 0x98], eax
mov ecx, dword [ebx + 0x1fc]
mov dword [esi + 0x9c], ecx
mov edx, dword [ebx + 0x200]
mov dword [esi + 0xa0], edx
mov eax, dword [ebx + 0x204]
mov dword [esi + 0xa4], eax
jmp 0x44077a
mov ebx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x108]
lea ecx, [ebp - 0x19c]
push ecx
push 1
call fcn.00433010
mov edx, dword [edi + 4]
mov eax, dword [ebx + 0x10]
add esp, 8
shl edx, 4
mov ecx, dword [edx + eax + 0xc]
mov eax, dword [ecx + 4]
jmp 0x4407af
mov dword [ebp - 0x19c], 0
xor eax, eax
cmp byte [edi + 3], 0
je case.0x43e36a.62
mov edx, dword [ebp - 0x19c]
cmp edx, dword [edi + 0xc]
jne 0x4407cd
cmp eax, dword [edi + 0x10]
je case.0x43e36a.62
mov ebx, dword [ebp - 0xdc]
mov eax, dword [esi + 0x2c]
mov ecx, ebx
call fcn.00418230
push ebx
mov ebx, 0x54e184
call fcn.004186a0
mov edx, dword [ebp - 0xdc]
mov dword [esi + 0x2c], eax
mov eax, dword [edi + 4]
mov edx, dword [edx + 0x10]
mov ecx, eax
add ecx, ecx
mov ecx, dword [edx + ecx*8 + 0xc]
mov edx, dword [ebp - 0x19c]
add esp, 4
cmp dword [ecx], edx
je 0x440825
mov edi, dword [ebp - 0xdc]
mov esi, eax
call fcn.00454070
mov edi, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xec]
or dword [esi + 0x58], 8
mov dword [ebp - 0xd8], 0x11
jmp case.0x43e36a.62
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 4]
lea eax, [ebp - 0x1f0]
push eax
mov eax, dword [ebp - 0xdc]
push ecx
mov ecx, dword [eax + 0x10]
add edx, edx
mov eax, dword [ecx + edx*8 + 4]
call fcn.00433010
mov eax, dword [edi + 8]
lea edx, [eax + eax*4]
mov eax, dword [esi + 8]
lea eax, [eax + edx*8]
mov ecx, 0x2460
add esp, 8
test word [eax + 8], cx
je 0x44088c
call fcn.0043e210
mov ecx, eax
mov eax, dword [ebp - 0x1f0]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x43e36a.62
mov edx, 4
mov word [eax + 8], dx
mov ecx, eax
mov eax, dword [ebp - 0x1f0]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x43e36a.62
mov ebx, dword [edi + 4]
mov eax, dword [ebp - 0xdc]
mov edx, dword [ebp - 0x128]
shl ebx, 4
add ebx, dword [eax + 0x10]
mov eax, dword [edi + 0xc]
lea ecx, [eax + eax*4]
lea esi, [edx + ecx*8]
mov dword [ebp - 0x108], ebx
call fcn.00435d30
mov eax, dword [esi]
mov ecx, dword [edi + 8]
mov ebx, dword [ebx + 4]
push eax
push ecx
call fcn.00433070
mov dword [ebp - 0xd8], eax
mov eax, dword [edi + 8]
add esp, 8
cmp eax, 1
jne 0x44090a
mov edx, dword [ebp - 0x108]
mov eax, dword [edx + 0xc]
mov ecx, dword [esi]
mov dword [eax], ecx
mov eax, dword [ebp - 0xdc]
or dword [eax + 0x18], 2
jmp 0x44091d
cmp eax, 2
jne 0x44091d
mov edx, dword [ebp - 0x108]
mov eax, dword [edx + 0xc]
mov cl, byte [esi]
mov byte [eax + 0x4c], cl
cmp dword [edi + 4], 1
jne case.0x43e36a.62
mov eax, dword [ebp - 0xdc]
call fcn.0043b380
mov eax, dword [ebp - 0xec]
and dword [eax + 0x58], 0xfffffff7
jmp case.0x43e36a.62
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x38]
mov ebx, dword [ecx + eax*4]
test ebx, ebx
je case.0x43e36a.54
mov eax, dword [ebx + 0x20]
cmp eax, dword [edi + 8]
je 0x440a91
test byte [esi + 0x58], 8
je 0x44096f
mov dword [ebp - 0xd8], 0x204
jmp case.0x43e36a.62
mov ecx, dword [edi + 8]
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xe8], ecx
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xf4], eax
shl eax, 4
add eax, dword [ecx + 0x10]
xor ebx, ebx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x108], ebx
mov dword [ebp - 0x124], ecx
cmp dl, 0x37
jne 0x4409bd
mov edx, dword [eax + 0xc]
mov al, byte [edx + 0x4c]
mov dword [ebp - 0x114], 1
cmp al, byte [esi + 0x57]
jae 0x4409c3
mov byte [esi + 0x57], al
jmp 0x4409c3
mov dword [ebp - 0x114], ebx
test byte [edi + 3], 4
je 0x4409f1
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0x128]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
call fcn.00435d30
mov esi, dword [esi]
mov dword [ebp - 0xe8], esi
cmp esi, 2
jl 0x4434d9
mov al, byte [edi + 1]
cmp al, 0xfa
jne 0x440a0d
mov eax, dword [edi + 0x10]
movzx ebx, word [eax + 8]
movzx edx, word [eax + 6]
mov dword [ebp - 0x108], eax
add ebx, edx
jmp 0x440a14
cmp al, 0xf2
jne 0x440a14
mov ebx, dword [edi + 0x10]
mov eax, dword [ebp - 0xf4]
mov ecx, dword [edi + 4]
mov esi, dword [ebp - 0xec]
push 1
push eax
push ebx
push ecx
call fcn.0043df20
mov ebx, eax
add esp, 0x10
test ebx, ebx
je 0x443550
mov edx, dword [ebx]
mov esi, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp - 0xe8]
or dword [ebx + 0x1c], 8
push edx
push esi
push ecx
mov ecx, dword [ebp - 0x124]
mov byte [ebx + 0x19], 1
mov dword [ebx + 0x20], eax
call fcn.0042deb0
xor edx, edx
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xe0]
add esp, 0xc
mov dword [ebx + 8], esi
cmp byte [eax + 1], 0xfa
mov edi, eax
setne dl
add edx, edx
add edx, edx
xor edx, dword [ebx + 0x1c]
and edx, 4
xor dword [ebx + 0x1c], edx
mov cl, byte [edi + 3]
mov edx, dword [ebx]
and cl, 3
mov byte [edx + 0x43], cl
jmp case.0x43e36a.62
mov eax, dword [edi + 8]
mov ecx, dword [edi + 4]
mov esi, dword [ebp - 0xec]
push 1
push 0xffffffffffffffff
push eax
push ecx
call fcn.0043df20
mov esi, eax
add esp, 0x10
test esi, esi
je 0x443550
or dword [esi + 0x1c], 1
mov ebx, dword [ebp - 0xe0]
mov byte [esi + 0x19], 1
movzx edx, byte [ebx + 3]
push 0x41e
or edx, 5
push edx
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx]
push 0
push eax
lea ecx, [esi + 4]
call fcn.0042bcd0
add esp, 0x10
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x440b9a
mov ecx, dword [esi + 4]
push 1
push ecx
call fcn.0042cd60
add esp, 8
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x440b9a
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xf4], eax
test eax, eax
je 0x440b79
movzx edx, byte [ebx + 3]
or edx, 2
push edx
lea eax, [ebp - 0x1ec]
push eax
mov eax, dword [esi + 4]
call fcn.00432af0
add esp, 8
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x440b73
mov ecx, dword [esi]
mov eax, dword [ebp - 0xf4]
push ecx
mov ecx, dword [esi + 4]
push eax
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x1ec]
push 1
call fcn.0042deb0
add esp, 0xc
mov dword [ebp - 0xd8], eax
and dword [esi + 0x1c], 0xfffffffb
jmp 0x440b9a
mov edx, dword [esi]
mov ecx, dword [esi + 4]
push edx
push 0
push 1
mov eax, 1
call fcn.0042deb0
add esp, 0xc
or dword [esi + 0x1c], 4
mov dword [ebp - 0xd8], eax
xor eax, eax
cmp byte [ebx + 3], 8
setne al
add eax, eax
add eax, eax
add eax, eax
xor eax, dword [esi + 0x1c]
and eax, 8
xor dword [esi + 0x1c], eax
jmp 0x4432f8
mov ecx, dword [edi + 8]
mov edx, dword [edi + 4]
mov esi, dword [ebp - 0xec]
push 1
push 0xffffffffffffffff
push ecx
push edx
call fcn.0043df20
add esp, 0x10
test eax, eax
je 0x443550
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ecx + 0x10]
push eax
mov dword [eax + 8], edx
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0xdc]
push eax
push ecx
call fcn.00444e30
add esp, 0xc
mov dword [ebp - 0xd8], eax
jmp 0x4432f8
mov eax, dword [esi + 0x38]
mov edx, dword [edi + 4]
mov eax, dword [eax + edx*4]
mov ecx, dword [eax + 0x28]
mov edx, dword [eax + 0x2c]
mov esi, ecx
add esi, 1
mov ebx, edx
adc ebx, 0
mov dword [eax + 0x28], esi
mov dword [eax + 0x2c], ebx
mov eax, ecx
or eax, edx
je 0x4432e2
jmp case.0x43e36a.62
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 4]
mov esi, dword [ebp - 0xec]
push 0
push 0xffffffffffffffff
push ecx
push edx
call fcn.0043df20
add esp, 0x10
test eax, eax
je 0x443550
mov ecx, dword [ebp - 0xe0]
mov byte [eax + 0x19], 1
mov edx, dword [ecx + 8]
or dword [eax + 0x1c], 4
mov dword [eax + 0x10], edx
jmp 0x4432f8
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x38]
mov ecx, dword [ecx + eax*4]
mov eax, esi
call fcn.004385a0
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x38]
mov dword [eax + edx*4], 0
jmp case.0x43e36a.62
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x38]
mov esi, dword [edx + ecx*4]
test byte [esi + 0x1c], 4
mov dword [ebp - 0x110], eax
mov byte [esi + 0x19], 0
je 0x440d58
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
mov cl, byte [ebx + eax*8 + 8]
lea ebx, [ebx + eax*8]
and cl, 0xe
cmp cl, 2
jne 0x440ccd
push 0
mov eax, ebx
call fcn.0043e030
add esp, 4
mov ecx, ebx
call fcn.00435bd0
mov dword [ebp - 0x1b0], eax
movzx eax, word [ebx + 8]
mov dword [ebp - 0x1ac], edx
test al, 4
jne 0x440d2a
test al, 8
je 0x4432e2
fild qword [ebp - 0x1b0]
fcom qword [ebx]
fnstsw ax
test ah, 0x41
jne 0x440d12
test byte [ebp - 0x110], 1
fstp st(0)
jne 0x440d2a
dec dword [ebp - 0x110]
jmp 0x440d2a
fcomp qword [ebx]
fnstsw ax
test ah, 5
jp 0x440d2a
test byte [ebp - 0x110], 1
je 0x440d2a
inc dword [ebp - 0x110]
mov eax, dword [ebp - 0x1ac]
mov ebx, dword [ebp - 0x1b0]
lea edx, [ebp - 0x13c]
push edx
push 0
push eax
mov eax, dword [esi]
push ebx
push 0
call fcn.0042e920
mov ecx, dword [ebp - 0x1ac]
mov dword [esi + 0x30], ebx
mov dword [esi + 0x34], ecx
jmp 0x440db6
mov edx, dword [esi + 8]
mov cx, word [edi + 0x10]
dec eax
test al, 1
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x2d4], edx
sete dl
lea eax, [eax + eax*4]
mov word [ebp - 0x2d0], cx
lea eax, [ebx + eax*8]
mov ecx, 0x4000
mov dword [ebp - 0x2cc], eax
lea edx, [edx + edx - 1]
mov byte [ebp - 0x2ce], dl
test word [eax + 8], cx
je 0x440d9b
call fcn.004357e0
lea edx, [ebp - 0x13c]
push edx
push 0
push 0
lea eax, [ebp - 0x2d4]
push 0
push eax
mov eax, dword [esi]
call fcn.0042e920
add esp, 0x14
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x4412fa
mov ecx, dword [ebp - 0x110]
xor ebx, ebx
mov byte [esi + 0x1a], bl
mov dword [esi + 0x3c], ebx
mov eax, dword [ebp - 0x13c]
cmp ecx, 0x41
jl 0x440e0d
cmp eax, ebx
jl 0x440df6
jne 0x440deb
cmp ecx, 0x42
je 0x440df6
mov dword [ebp - 0x13c], ebx
jmp case.0x43e36a.62
lea ecx, [ebp - 0x13c]
mov dword [ebp - 0x13c], ebx
mov edx, dword [esi]
push ecx
push edx
call fcn.0042ef50
jmp 0x440e40
cmp eax, ebx
jg 0x440e2b
jne 0x440e18
cmp ecx, 0x3f
je 0x440e2b
mov eax, dword [esi]
xor ecx, ecx
cmp byte [eax + 0x42], 1
setne cl
mov dword [ebp - 0x13c], ecx
jmp 0x440e51
lea edx, [ebp - 0x13c]
mov dword [ebp - 0x13c], ebx
mov eax, dword [esi]
push edx
push eax
call fcn.0042f0d0
add esp, 8
mov dword [ebp - 0xd8], eax
cmp eax, ebx
jne 0x4412fa
cmp dword [ebp - 0x13c], ebx
jne 0x4432e2
jmp case.0x43e36a.62
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x38]
mov esi, dword [edx + ecx*4]
mov byte [esi + 0x19], 0
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
call fcn.00435bd0
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], edx
mov byte [esi + 0x1a], 1
jmp case.0x43e36a.62
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x38]
mov esi, dword [edx + ecx*4]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
xor eax, eax
mov dword [ebp - 0x108], ebx
mov dword [ebp - 0x110], eax
cmp dword [edi + 0x10], eax
jle 0x440f14
mov ecx, dword [esi + 8]
mov dword [ebp - 0x2ac], ecx
mov cx, word [edi + 0x10]
mov dword [ebp - 0x2a4], ebx
xor edx, edx
xor ebx, ebx
mov word [ebp - 0x2a8], cx
cmp dx, cx
jae 0x440f0c
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0x2a4]
add eax, dword [ebp - 0xe8]
mov edx, 0x4000
test word [eax + 8], dx
je 0x440efd
call fcn.004357e0
mov cx, word [ebp - 0x2a8]
add dword [ebp - 0xe8], 0x28
movzx eax, cx
inc ebx
cmp ebx, eax
jl 0x440eda
lea ebx, [ebp - 0x2ac]
jmp 0x440f71
mov edi, dword [esi + 8]
push 0xbf
lea ebx, [ebp - 0x110]
lea edx, [ebp - 0xc8]
call fcn.0043a260
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x443550
mov eax, dword [ebp - 0x108]
mov ecx, 0x4000
test word [eax + 8], cx
je 0x440f50
call fcn.004357e0
mov eax, dword [ebp - 0x108]
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
mov ecx, dword [esi + 8]
push ebx
push edx
push eax
push ecx
call fcn.0043a2c0
mov edi, dword [ebp - 0xe0]
add esp, 0x10
xor ecx, ecx
mov byte [ebx + 6], 0
cmp byte [edi], 0x44
mov dword [ebp - 0x108], ecx
jne 0x440fad
xor edx, edx
cmp dx, word [ebx + 4]
jae 0x440fad
mov eax, dword [ebx + 8]
add eax, 8
test byte [eax], 1
jne 0x440fa3
movzx edx, word [ebx + 4]
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x440f90
jmp 0x440fad
mov dword [ebp - 0x108], 1
lea eax, [ebp - 0x1f4]
push eax
mov eax, dword [esi]
push 0
push 0
push 0
push ebx
call fcn.0042e920
mov ecx, dword [ebp - 0xdc]
mov ebx, eax
mov eax, dword [ebp - 0x110]
add esp, 0x14
mov dword [ebp - 0xd8], ebx
call fcn.00418230
test ebx, ebx
jne case.0x43e36a.62
mov ecx, dword [ebp - 0x1f4]
xor eax, eax
test ecx, ecx
mov dword [esi + 0xc], ecx
sete al
mov cl, 1
sub cl, al
mov byte [esi + 0x19], cl
mov byte [esi + 0x1a], bl
mov dword [esi + 0x3c], ebx
cmp byte [edi], 0x46
jne 0x441015
test eax, eax
jne 0x4432e2
jmp case.0x43e36a.62
cmp dword [ebp - 0x108], 0
jne 0x4432e2
test eax, eax
je 0x4432e2
jmp case.0x43e36a.62
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x38]
mov ecx, dword [edi + 0xc]
mov esi, dword [eax + edx*4]
mov eax, dword [esi]
lea ecx, [ecx + ecx*4]
mov edx, dword [ebx + ecx*8]
mov ebx, dword [ebx + ecx*8 + 4]
lea ecx, [ebp - 0x108]
push ecx
push 0
push ebx
push edx
push 0
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x2b8], edx
call fcn.0042e920
mov edx, dword [ebp - 0x2b8]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x108]
add esp, 0x14
mov dword [esi + 0x30], edx
mov dword [esi + 0x34], ebx
mov dword [esi + 0x3c], 0
mov word [esi + 0x19], 0
mov dword [esi + 0xc], eax
test eax, eax
jne 0x4432e2
jmp case.0x43e36a.62
mov eax, dword [edi + 8]
mov ecx, dword [esi + 8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov edx, 0x2460
test word [eax + 8], dx
je 0x4410bf
call fcn.0043e210
jmp 0x4410c8
mov ecx, 4
mov word [eax + 8], cx
mov edx, dword [edi + 4]
mov ecx, dword [esi + 0x38]
mov ecx, dword [ecx + edx*4]
mov edx, dword [ecx + 0x28]
mov dword [eax], edx
mov ecx, dword [ecx + 0x2c]
mov dword [eax + 4], ecx
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x38]
mov eax, dword [eax + edx*4]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
jmp case.0x43e36a.62
mov edx, dword [esi + 8]
xor eax, eax
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x100], eax
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
mov ecx, 0x2460
test word [eax + 8], cx
je 0x441124
call fcn.0043e210
jmp 0x44112d
mov edx, 4
mov word [eax + 8], dx
mov ecx, dword [esi + 0x38]
mov dword [ebp - 0xe4], eax
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
test byte [eax + 0x1c], 2
mov dword [ebp - 0x10c], eax
jne 0x4411e3
mov esi, eax
mov eax, dword [esi]
lea edi, [ebp - 0x100]
call fcn.0042e8d0
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x4412fa
cmp dword [ebp - 0x100], eax
je 0x441183
mov dword [ebp - 0x138], 1
mov dword [ebp - 0x134], eax
jmp 0x4411d1
mov esi, dword [esi]
mov eax, esi
call fcn.0042e060
mov eax, dword [esi + 0x10]
mov esi, dword [esi + 0x14]
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x134], esi
mov dword [ebp - 0xd8], 0
cmp esi, 0x7fffffff
jl 0x4411c3
jg 0x4411b7
cmp eax, 0xffffffff
jb 0x4411c3
mov eax, dword [ebp - 0x10c]
or dword [eax + 0x1c], 2
jmp 0x4411d1
add dword [ebp - 0x138], 1
adc dword [ebp - 0x134], 0
mov edi, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xec]
mov ebx, dword [ebp - 0x128]
mov edx, dword [edi + 0xc]
test edx, edx
je 0x441279
mov esi, dword [esi + 0xb0]
test esi, esi
je 0x441215
mov ecx, esi
mov eax, dword [ecx + 4]
test eax, eax
je 0x44120a
mov ecx, eax
mov eax, dword [ecx + 4]
test eax, eax
jne 0x441201
mov eax, dword [ecx + 0x10]
lea edx, [edx + edx*4]
lea esi, [eax + edx*8]
jmp 0x44121b
lea ecx, [edx + edx*4]
lea esi, [ebx + ecx*8]
call fcn.00435d30
mov eax, dword [esi]
mov ecx, dword [esi + 4]
cmp eax, 0xffffffff
jne 0x441236
cmp ecx, 0x7fffffff
je 0x4412f0
mov edx, dword [ebp - 0x10c]
test byte [edx + 0x1c], 2
jne 0x4412f0
mov edx, dword [ebp - 0x134]
add eax, 1
adc ecx, 0
cmp edx, ecx
jg 0x44126e
jl 0x441260
cmp dword [ebp - 0x138], eax
jae 0x44126e
mov edx, ecx
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x134], edx
mov eax, dword [ebp - 0x138]
mov dword [esi], eax
mov dword [esi + 4], edx
mov ecx, dword [ebp - 0x10c]
test byte [ecx + 0x1c], 2
je 0x441329
xor ebx, ebx
mov esi, ecx
lea ecx, [ecx]
lea edx, [ebp - 0x138]
push edx
push 8
call fcn.0041a210
mov eax, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x138]
and eax, 0x3fffffff
add ecx, 1
lea edx, [ebp - 0x100]
push edx
adc eax, 0
push 0
push eax
push ecx
mov dword [ebp - 0x134], eax
mov eax, dword [esi]
push 0
mov dword [ebp - 0x138], ecx
call fcn.0042e920
add esp, 0x1c
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x441329
cmp dword [ebp - 0x100], eax
jne 0x441329
inc ebx
cmp ebx, 0x64
jl 0x441290
mov dword [ebp - 0xd8], 0xd
mov ecx, dword [ebp - 0xdc]
cmp byte [ecx + 0x41], 0
je 0x4434ee
mov dword [ebp - 0xd8], 7
mov ecx, dword [ebp - 0xd8]
mov eax, 0x552ac8
call fcn.0048c9a0
jmp 0x443521
mov eax, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x138]
mov edx, dword [ebp - 0x134]
mov byte [eax + 0x1a], 0
mov dword [eax + 0x3c], 0
mov eax, dword [ebp - 0xe4]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp case.0x43e36a.62
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [edi + 4]
mov dword [ebp - 0xf4], ecx
mov ecx, dword [esi + 0x38]
mov ecx, dword [ecx + eax*4]
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x108], ecx
cmp dl, 0x54
jne 0x441388
lea edx, [eax + eax*4]
mov eax, dword [ebx + edx*8]
mov ebx, dword [ebx + edx*8 + 4]
jmp 0x44138b
cdq
mov ebx, edx
test byte [edi + 3], 1
mov dword [ebp - 0x1e0], eax
je 0x44139a
inc dword [esi + 0x5c]
test byte [edi + 3], 2
je 0x4413b8
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x14c], ebx
mov dword [edx + 0x20], eax
mov dword [edx + 0x24], ebx
mov eax, dword [ebp - 0xf4]
movzx edx, word [eax + 8]
test dl, 1
je 0x4413cf
xor esi, esi
mov dword [eax + 0x10], esi
mov dword [eax + 0xc], esi
test byte [edi + 3], 0x10
je 0x4413da
mov ecx, dword [ecx + 0xc]
jmp 0x4413dc
xor ecx, ecx
test edx, 0x4000
je 0x4413e8
mov esi, dword [eax]
jmp 0x4413ea
xor esi, esi
movzx edx, byte [edi + 3]
push ecx
mov ecx, dword [eax + 0xc]
shr edx, 3
and edx, 1
push edx
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0x1e0]
push esi
mov esi, dword [ebp - 0x108]
push ecx
push edx
push ebx
push eax
mov eax, dword [esi]
push 0
call fcn.00432360
add esp, 0x20
mov dword [ebp - 0xd8], eax
mov byte [esi + 0x1a], 0
mov dword [esi + 0x3c], 0
test eax, eax
jne case.0x43e36a.62
mov ecx, dword [ebp - 0xdc]
mov ecx, dword [ecx + 0xd4]
test ecx, ecx
je case.0x43e36a.62
mov eax, dword [edi + 0x10]
test eax, eax
je case.0x43e36a.62
mov edx, dword [ebp - 0x1e0]
push ebx
push edx
push eax
mov eax, esi
movsx edx, byte [eax + 0x18]
mov eax, dword [ebp - 0xdc]
mov esi, dword [eax + 0x10]
mov eax, dword [eax + 0xd0]
add edx, edx
mov edx, dword [esi + edx*8]
push edx
mov dl, byte [edi + 3]
and dl, 4
movzx edx, dl
neg edx
sbb edx, edx
and edx, 5
add edx, 0x12
push edx
push eax
call ecx
add esp, 0x18
jmp case.0x43e36a.62
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x38]
mov ebx, dword [edx + ecx*4]
mov eax, dword [ebx]
call fcn.00432570
mov dword [ebp - 0xd8], eax
mov dword [ebx + 0x3c], 0
test eax, eax
jne 0x441500
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ecx + 0xd4]
mov dword [ebp - 0xf4], eax
test eax, eax
je 0x441500
mov eax, dword [edi + 0x10]
test eax, eax
je 0x441500
test byte [ebx + 0x1c], 4
je 0x441500
mov edx, dword [ebx + 0x34]
push edx
mov edx, dword [ebx + 0x30]
push edx
mov edx, dword [ecx + 0x10]
mov ecx, dword [ecx + 0xd0]
push eax
movsx eax, byte [ebx + 0x18]
add eax, eax
mov eax, dword [edx + eax*8]
push eax
push 9
push ecx
call dword [ebp - 0xf4]
add esp, 0x18
test byte [edi + 8], 1
je case.0x43e36a.62
inc dword [esi + 0x5c]
jmp case.0x43e36a.62
mov eax, dword [esi + 0x5c]
mov ecx, dword [ebp - 0xdc]
add dword [ecx + 0x54], eax
mov dword [ecx + 0x50], eax
mov dword [esi + 0x5c], 0
jmp case.0x43e36a.62
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x38]
mov ecx, dword [edi + 0xc]
mov eax, dword [eax + edx*4]
mov edx, dword [edi + 0x10]
lea esi, [ebp - 0xfc]
lea ecx, [ecx + ecx*4]
push esi
lea ecx, [ebx + ecx*8]
push edx
push ecx
mov dword [ebp - 0xfc], 0
call fcn.00447180
add esp, 0xc
cmp dword [ebp - 0xfc], 0
mov dword [ebp - 0xd8], eax
jne 0x4432e2
jmp case.0x43e36a.62
mov eax, dword [edi + 8]
lea edx, [eax + eax*4]
mov eax, dword [edi + 4]
lea ecx, [ebx + edx*8]
mov edx, dword [esi + 0x38]
mov eax, dword [edx + eax*4]
call fcn.004470e0
mov ecx, dword [esi + 0x38]
mov dword [ebp - 0xd8], eax
mov eax, dword [edi + 0xc]
mov edx, dword [ecx + eax*4]
mov dword [edx + 0x3c], 0
jmp case.0x43e36a.62
mov eax, dword [edi + 8]
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x38]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
mov eax, dword [edx + ecx*4]
mov ecx, dword [eax]
test byte [eax + 0x1c], 4
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0x10c], ecx
mov eax, ecx
jne 0x441614
call fcn.0042e060
mov eax, dword [ebp - 0x10c]
mov edx, dword [eax + 0x10]
mov ecx, dword [eax + 0x14]
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x58]
mov dword [ebp - 0x220], edx
cdq
cmp ecx, edx
jg 0x443583
jl 0x441606
cmp dword [ebp - 0x220], eax
ja 0x443583
mov ecx, dword [ebp - 0x220]
mov dword [ebp - 0xe8], ecx
jmp 0x441639
call fcn.0042e060
mov ecx, dword [ebp - 0x10c]
mov eax, dword [ecx + 0x1c]
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xe8], eax
cmp eax, dword [edx + 0x58]
ja 0x443583
mov ecx, eax
cmp ecx, 0x20
ja 0x441643
mov ecx, 0x20
cmp dword [ebx + 0x18], ecx
jge 0x4416af
xor eax, eax
mov edi, ebx
call fcn.00435640
test eax, eax
jne 0x443550
mov edi, dword [ebp - 0xe0]
mov dx, word [ebx + 8]
mov ecx, dword [ebp - 0xe8]
mov eax, 0xbe10
and dx, ax
or dx, 0x10
mov word [ebx + 8], dx
mov edx, dword [ebp - 0xf4]
mov dword [ebx + 0xc], ecx
test byte [edx + 0x1c], 4
jne 0x4416bc
mov eax, dword [ebx + 0x10]
push 0
push eax
mov eax, dword [ebp - 0x10c]
push ecx
push 0
push eax
call fcn.0042e270
add esp, 0x14
mov dword [ebp - 0xd8], eax
mov byte [ebx + 0xa], 1
jmp case.0x43e36a.62
mov eax, dword [ebx + 0x14]
and word [ebx + 8], 0xd
mov dword [ebx + 0x10], eax
jmp 0x44165f
mov edx, dword [ebx + 0x10]
mov eax, dword [ebp - 0x10c]
push edx
push ecx
push 0
push eax
call fcn.0042e540
add esp, 0x10
mov dword [ebp - 0xd8], eax
mov byte [ebx + 0xa], 1
jmp case.0x43e36a.62
mov eax, dword [edi + 8]
mov edx, dword [esi + 8]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
mov ecx, 0x2460
test word [eax + 8], cx
je 0x4416ff
call fcn.0043e210
jmp 0x441708
mov edx, 4
mov word [eax + 8], dx
mov ecx, dword [esi + 0x38]
mov dword [ebp - 0xe4], eax
mov eax, dword [edi + 4]
mov ebx, dword [ecx + eax*4]
cmp byte [ebx + 0x19], 0
je 0x441731
mov eax, dword [ebp - 0xe4]
mov edx, 1
mov word [eax + 8], dx
jmp case.0x43e36a.62
cmp byte [ebx + 0x1a], 0
je 0x441748
mov ecx, dword [ebx + 0x30]
mov dword [ebp - 0x1a8], ecx
mov edx, dword [ebx + 0x34]
jmp 0x4417f6
cmp dword [ebx + 0x24], 0
je 0x44178e
mov eax, dword [ebx + 0x24]
mov ebx, dword [eax]
mov ecx, dword [ebx]
lea edx, [ebp - 0x1a8]
push edx
push eax
mov eax, dword [ecx + 0x30]
call eax
push ebx
push esi
mov dword [ebp - 0xd8], eax
call fcn.0043b450
mov ecx, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0xe4]
mov dword [eax], ecx
mov edx, dword [ebp - 0x1a4]
add esp, 0x10
mov dword [eax + 4], edx
jmp case.0x43e36a.62
mov ecx, dword [ebx]
cmp byte [ecx + 0x42], 1
je 0x4417cb
mov edi, ebx
call fcn.00439e80
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x4412fa
mov edi, dword [ebp - 0xe0]
cmp byte [ebx + 0x19], 0
je 0x4417d7
mov eax, dword [ebp - 0xe4]
mov edx, 1
mov word [eax + 8], dx
jmp case.0x43e36a.62
mov dword [ebp - 0xd8], 0
jmp 0x4417b1
mov ebx, dword [ebx]
mov eax, ebx
call fcn.0042e060
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x1a8], ecx
mov edx, dword [ebx + 0x14]
mov dword [ebp - 0xd8], 0
mov ecx, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0x1a4], edx
mov dword [eax], ecx
mov edx, dword [ebp - 0x1a4]
mov dword [eax + 4], edx
jmp case.0x43e36a.62
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x38]
mov eax, dword [ecx + eax*4]
mov byte [eax + 0x19], 1
mov dword [eax + 0x3c], 0
mov eax, dword [eax]
test eax, eax
je case.0x43e36a.62
mov esi, eax
call fcn.0042a660
jmp case.0x43e36a.62
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x38]
mov esi, dword [eax + edx*4]
mov eax, dword [esi]
xor ebx, ebx
lea edi, [ebp - 0xe4]
mov dword [ebp - 0xe4], ebx
call fcn.0042e8d0
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xe0]
mov byte [esi + 0x19], cl
mov byte [esi + 0x1a], bl
mov dword [esi + 0x3c], ebx
mov edx, dword [eax + 0xc]
mov dword [esi + 0xc], edx
mov edi, eax
cmp dword [eax + 8], ebx
jle case.0x43e36a.62
cmp ecx, ebx
jne 0x4432e2
jmp case.0x43e36a.62
inc dword [esi + 0x74]
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x38]
mov ebx, dword [ecx + eax*4]
cmp dword [ebx + 0x38], 0
mov dword [ebp - 0x104], 1
je 0x4418ca
lea edi, [ebp - 0x104]
mov eax, ebx
call fcn.00447020
mov edi, dword [ebp - 0xe0]
jmp 0x441900
mov esi, dword [ebx]
call fcn.0042e620
test eax, eax
jne 0x4418f5
cmp byte [esi + 0x42], al
jne 0x4418e6
mov dword [ebp - 0x104], 1
jmp 0x4418f5
mov dword [ebp - 0x104], 0
call fcn.0042e780
mov byte [ebx + 0x1a], 0
mov dword [ebx + 0x3c], 0
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x104]
mov byte [ebx + 0x19], al
test eax, eax
jne 0x4432e2
jmp case.0x43e36a.62
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x38]
mov eax, dword [eax + edx*4]
mov edi, dword [ebp - 0xdc]
lea ebx, [ebp - 0x194]
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0x194], 0
call fcn.00447070
mov esi, dword [ebp - 0xec]
mov edi, dword [ebp - 0xe0]
mov ebx, dword [ebp - 0xf4]
jmp 0x44198e
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x38]
cmp dword [edx + ecx*4], 0
je case.0x43e36a.62
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x38]
mov ebx, dword [ecx + eax*4]
mov edx, dword [edi + 0xc]
mov dword [ebp - 0x194], edx
mov ecx, dword [ebx]
mov edx, dword [edi + 0x10]
lea eax, [ebp - 0x194]
push eax
push ecx
call edx
add esp, 8
mov dword [ebx + 0x3c], 0
cmp dword [ebp - 0x194], 0
mov dword [ebp - 0xd8], eax
jne 0x4419b9
mov byte [ebx + 0x19], 0
movzx eax, byte [edi + 3]
inc dword [esi + eax*4 + 0x6c]
lea eax, [esi + eax*4 + 0x6c]
jmp case.0x43e36a.14
mov byte [ebx + 0x19], 1
jmp 0x442ef2
test byte [edi + 3], 1
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x38]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0xe8], eax
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
lea ebx, [ebx + ecx*8]
je 0x4419e3
inc dword [esi + 0x5c]
mov edx, 0x4000
test word [ebx + 8], dx
je 0x441a03
mov eax, ebx
call fcn.004357e0
mov dword [ebp - 0xd8], eax
test eax, eax
jne case.0x43e36a.62
cmp byte [edi], 0x6e
jne 0x441a22
mov eax, dword [ebp - 0xe8]
push ebx
call fcn.00446120
add esp, 4
mov dword [ebp - 0xd8], eax
jmp case.0x43e36a.62
test byte [edi + 3], 0x10
mov eax, dword [ebx + 0xc]
mov ebx, dword [ebx + 0x10]
je 0x441a39
mov ecx, dword [ebp - 0xe8]
mov ecx, dword [ecx + 0xc]
jmp 0x441a3b
xor ecx, ecx
mov edx, dword [edi + 0xc]
mov esi, dword [ebp - 0xe8]
push ecx
push edx
push 0
push 0
cdq
push 0x55ba97
push edx
push eax
mov eax, dword [esi]
push ebx
call fcn.00432360
add esp, 0x20
mov dword [ebp - 0xd8], eax
mov dword [esi + 0x3c], 0
jmp case.0x43e36a.62
mov ecx, dword [esi + 0x38]
mov eax, dword [edi + 4]
mov esi, dword [ecx + eax*4]
mov eax, dword [esi]
mov edx, dword [esi + 8]
mov cx, word [edi + 0xc]
mov word [ebp - 0x2f0], cx
mov ecx, dword [edi + 8]
mov dword [ebp - 0x2f4], edx
lea edx, [ecx + ecx*4]
lea ecx, [ebx + edx*8]
lea edx, [ebp - 0x1c4]
push edx
push 0
push 0
mov dword [ebp - 0x2ec], ecx
lea ecx, [ebp - 0x2f4]
push 0
push ecx
mov dword [ebp - 0xf4], eax
mov byte [ebp - 0x2ee], 0
call fcn.0042e920
add esp, 0x14
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x441ae9
cmp dword [ebp - 0x1c4], eax
jne 0x441ae9
mov eax, dword [ebp - 0xf4]
call fcn.00432570
mov dword [ebp - 0xd8], eax
mov dword [esi + 0x3c], 0
jmp case.0x43e36a.62
mov eax, dword [edi + 8]
lea edx, [eax + eax*4]
mov eax, dword [esi + 8]
lea eax, [eax + edx*8]
mov ecx, 0x2460
test word [eax + 8], cx
je 0x441b13
call fcn.0043e210
jmp 0x441b1c
mov edx, 4
mov word [eax + 8], dx
mov ecx, dword [esi + 0x38]
mov ebx, eax
mov eax, dword [edi + 4]
mov esi, dword [ecx + eax*4]
mov edx, dword [esi]
mov eax, 1
mov word [ebx + 8], ax
mov ecx, dword [esi]
mov dword [ebp - 0xf4], edx
cmp byte [ecx + 0x42], al
je 0x441bbf
mov edi, esi
call fcn.00439e80
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x4412fa
mov edi, dword [ebp - 0xe0]
cmp byte [esi + 0x19], 0
jne case.0x43e36a.62
mov eax, dword [ebp - 0xdc]
lea edx, [ebp - 0x1c0]
push edx
xor esi, esi
push eax
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x1c0], esi
mov dword [ebp - 0x1bc], esi
call fcn.0043b150
add esp, 8
mov dword [ebp - 0xd8], eax
cmp eax, esi
jne 0x4412fa
mov ecx, dword [ebp - 0x1c0]
mov edx, dword [ebp - 0x1bc]
mov eax, 4
mov dword [ebx], ecx
mov dword [ebx + 4], edx
mov word [ebx + 8], ax
jmp case.0x43e36a.62
mov dword [ebp - 0xd8], 0
jmp 0x441b5e
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x38]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x308], ecx
mov cx, word [edi + 0x10]
mov word [ebp - 0x304], cx
mov ecx, dword [edi + 0xc]
cmp dl, 0x74
sbb dl, dl
lea ecx, [ecx + ecx*4]
mov byte [ebp - 0x302], dl
lea edx, [ebx + ecx*8]
lea ecx, [ebp - 0xe8]
push ecx
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x300], edx
lea edx, [ebp - 0x308]
push edx
push ecx
mov ebx, eax
mov dword [ebp - 0xe8], 0
call fcn.0043b290
add esp, 0xc
test byte [edi], 1
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xe8]
jne 0x441c40
neg eax
jmp 0x441c41
inc eax
test eax, eax
jg 0x4432e2
jmp case.0x43e36a.62
mov eax, dword [edi + 8]
lea edx, [eax + eax*4]
mov eax, dword [esi + 8]
lea eax, [eax + edx*8]
mov ecx, 0x2460
test word [eax + 8], cx
je 0x441c6c
call fcn.0043e210
jmp 0x441c75
mov edx, 4
mov word [eax + 8], dx
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0xe4]
mov eax, 1
mov word [ecx + 8], ax
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 0xa4]
inc edx
cmp dword [eax + 0x98], edx
jle 0x441cb2
mov dword [ebp - 0xd8], 6
mov byte [esi + 0x56], 2
jmp case.0x43e36a.62
mov ebx, dword [edi + 0xc]
mov edx, dword [edi + 4]
lea ecx, [ebp - 0x114]
push ecx
push edx
mov edx, dword [eax + 0x10]
mov ecx, ebx
add ecx, ecx
mov eax, dword [edx + ecx*8 + 4]
mov dword [ebp - 0x114], 0
call fcn.00432fc0
mov ecx, dword [ebp - 0xe4]
mov esi, eax
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x114]
cdq
add esp, 8
mov dword [ebp - 0xd8], esi
mov dword [ecx], eax
mov dword [ecx + 4], edx
test esi, esi
jne case.0x43e36a.62
mov esi, dword [ebp - 0x114]
test esi, esi
je case.0x43e36a.62
mov edi, dword [edi + 4]
mov ecx, dword [ebp - 0xdc]
mov eax, ebx
call fcn.00456b00
inc bl
mov byte [ebp - 0x129], bl
jmp 0x4432f8
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 4]
neg ecx
sbb ecx, ecx
lea edx, [ebp - 0x124]
and ecx, edx
mov edx, dword [ebp - 0xdc]
push ecx
mov ecx, dword [edi + 8]
push eax
mov eax, dword [edx + 0x10]
add ecx, ecx
mov dword [ebp - 0x124], 0
mov eax, dword [eax + ecx*8 + 4]
call fcn.00432ce0
add esp, 8
cmp dword [edi + 0xc], 0
mov dword [ebp - 0xd8], eax
je case.0x43e36a.62
mov eax, dword [ebp - 0x124]
add dword [esi + 0x5c], eax
mov ecx, dword [edi + 0xc]
test ecx, ecx
jle case.0x43e36a.62
lea ecx, [ecx + ecx*4]
cdq
add dword [ebx + ecx*8], eax
lea ecx, [ebx + ecx*8]
adc dword [ecx + 4], edx
jmp case.0x43e36a.62
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x38]
mov eax, dword [eax + edx*4]
mov ecx, dword [eax + 0x38]
test ecx, ecx
je 0x441dc6
push ecx
mov ecx, dword [ebp - 0xdc]
push ecx
call fcn.004453e0
add esp, 8
jmp case.0x43e36a.62
mov eax, dword [eax]
mov edx, dword [eax + 0x34]
mov eax, dword [eax]
push 0
push edx
call fcn.00432ce0
add esp, 8
mov dword [ebp - 0xd8], eax
jmp case.0x43e36a.62
mov eax, dword [edi + 8]
mov ecx, dword [esi + 8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov edx, 0x2460
test word [eax + 8], dx
je 0x441e01
call fcn.0043e210
jmp 0x441e0a
mov ecx, 4
mov word [eax + 8], cx
mov edx, dword [ebp - 0xdc]
mov esi, eax
mov eax, dword [edi + 4]
shl eax, 4
add eax, dword [edx + 0x10]
xor ecx, ecx
cmp byte [edi], 0x7a
mov eax, dword [eax + 4]
setne cl
mov dword [ebp - 0xf4], 0
inc ecx
push ecx
lea ecx, [ebp - 0xf4]
push ecx
call fcn.00432af0
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xf4]
cdq
add esp, 8
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.0x43e36a.62
mov eax, dword [edi + 4]
mov ecx, 0x54e1a0
cmp eax, 1
je 0x441e6a
mov ecx, 0x54e1b4
mov edx, dword [edi + 0x10]
mov ebx, dword [ebp - 0xdc]
push edx
push ecx
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x208], eax
add esi, 0x2c
add eax, eax
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x20c], esi
mov edx, dword [ecx + eax*8]
push edx
push 0x54e1c8
push ebx
call fcn.00419f30
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x441eb3
mov dword [ebp - 0xd8], 7
jmp 0x441f0a
push 0
lea eax, [ebp - 0x210]
push eax
push fcn.0046a250
push esi
push ebx
mov byte [ebx + 0x91], 1
mov dword [ebp - 0x204], 0
call fcn.00466490
mov edi, eax
add esp, 0x14
mov dword [ebp - 0xd8], edi
test edi, edi
jne 0x441ef6
mov ecx, dword [ebp - 0x204]
mov dword [ebp - 0xd8], ecx
mov edi, ecx
mov eax, esi
mov ecx, ebx
call fcn.00418230
mov byte [ebx + 0x91], 0
test edi, edi
je 0x441f11
mov eax, ebx
call fcn.004540a0
cmp dword [ebp - 0xd8], 7
je 0x443550
jmp 0x4432f8
mov eax, dword [edi + 4]
mov edi, dword [ebp - 0xdc]
call fcn.00452350
mov dword [ebp - 0xd8], eax
jmp 0x4432f8
mov edx, dword [edi + 0x10]
mov eax, dword [edi + 4]
mov edi, dword [ebp - 0xdc]
push edx
call fcn.004544c0
add esp, 4
jmp 0x4432f8
mov eax, dword [edi + 0x10]
mov ecx, dword [ebp - 0xdc]
push eax
mov eax, dword [edi + 4]
push ecx
call fcn.00453e30
add esp, 8
jmp case.0x43e36a.62
mov edx, dword [edi + 0x10]
mov eax, dword [ebp - 0xdc]
push edx
push eax
mov eax, dword [edi + 4]
call fcn.004779a0
add esp, 8
jmp case.0x43e36a.62
mov edi, dword [edi + 8]
mov esi, dword [ebp - 0xdc]
lea ecx, [edi*4 + 4]
push 0
push ecx
mov dword [ebp - 0x114], edi
call fcn.004184b0
mov edi, eax
add esp, 8
test edi, edi
je 0x443550
mov edx, dword [ebp - 0xe0]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x128]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [edx + 4]
lea edx, [eax + eax*4]
xor ebx, ebx
lea eax, [ecx + edx*8]
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0x114], ebx
jle 0x44200e
mov dword [ebp - 0xe8], eax
jmp 0x441ff0
mov ecx, dword [ebp - 0xe8]
call fcn.00435bd0
add dword [ebp - 0xe8], 0x28
mov dword [edi + ebx*4], eax
inc ebx
cmp ebx, dword [ebp - 0x114]
jl 0x441ff0
mov edx, dword [ebp - 0x114]
mov dword [edi + ebx*4], 0
mov ecx, dword [esi]
lea eax, [ebp - 0x1d4]
push eax
mov eax, dword [ebp - 0xe0]
push ecx
movzx ecx, byte [eax + 3]
push edx
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
push edi
call fcn.00433c50
mov ecx, dword [ebp - 0xdc]
mov ebx, eax
add esp, 0x10
mov eax, edi
call fcn.00418230
mov edi, dword [ebp - 0x1d4]
mov eax, edi
cdq
sub dword [esi], eax
mov eax, dword [ebp - 0xe4]
sbb dword [esi + 4], edx
call fcn.00435f40
test edi, edi
je 0x442095
test ebx, ebx
je 0x443550
mov ecx, dword [ebp - 0xe4]
push fcn.00418180
push 1
push ebx
or eax, 0xffffffff
call fcn.00436220
add esp, 0xc
movzx ecx, byte [ebp - 0x11d]
mov eax, dword [ebp - 0xe4]
call fcn.00435620
jmp 0x4432f8
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
lea ecx, [eax + eax*4]
test byte [ebx + ecx*8 + 8], 0x20
lea esi, [ebx + ecx*8]
lea edx, [edi + edi*4]
lea ebx, [ebx + edx*8]
jne 0x4420d6
mov edi, esi
call fcn.00435fe0
test byte [esi + 8], 0x20
je 0x443550
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
mov edi, dword [esi]
push eax
push ecx
call fcn.00421e90
add esp, 8
jmp 0x4432f8
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
test byte [ebx + edx*8 + 8], 0x20
lea ebx, [ebx + edx*8]
je 0x44213d
mov eax, dword [ebx]
lea esi, [ebp - 0x200]
call fcn.00422230
test eax, eax
je 0x44213d
mov eax, dword [ebp - 0x1fc]
mov edi, dword [edi + 0xc]
mov ecx, dword [ebp - 0x200]
push eax
mov eax, dword [ebp - 0x128]
lea edx, [edi + edi*4]
push ecx
lea eax, [eax + edx*8]
call fcn.00435fa0
mov esi, dword [ebp - 0xec]
add esp, 8
jmp 0x442ef2
mov eax, ebx
call fcn.00435f40
mov esi, dword [ebp - 0xec]
jmp case.0x43e36a.14
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
test byte [ebx + ecx*8 + 8], 0x20
mov eax, dword [edi + 0xc]
lea esi, [ebx + ecx*8]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x10]
lea ebx, [ebx + edx*8]
mov dword [ebp - 0xf4], eax
jne 0x44218e
mov edi, esi
call fcn.00435fe0
test byte [esi + 8], 0x20
je 0x443550
mov edi, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xf4]
test eax, eax
je 0x4421b4
mov ecx, dword [ebx + 4]
mov edx, dword [ebx]
push ecx
push edx
push eax
mov eax, dword [esi]
call fcn.00422280
add esp, 0xc
test eax, eax
jne 0x4432e2
mov eax, dword [ebp - 0xf4]
test eax, eax
js case.0x43e36a.62
jmp 0x4420d6
cmp byte [edi + 3], 0
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
lea edx, [eax + eax*4]
lea ebx, [ebx + edx*8]
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0xf4], ebx
je 0x442200
mov eax, dword [esi + 0xb0]
mov ecx, dword [ecx + 0x14]
test eax, eax
je 0x442200
lea ebx, [ebx]
cmp dword [eax + 0x1c], ecx
je case.0x43e36a.62
mov eax, dword [eax + 4]
test eax, eax
jne 0x4421f0
mov eax, dword [esi + 0xb8]
mov ecx, dword [ebp - 0xdc]
cmp eax, dword [ecx + 0x80]
jl 0x442231
push 0x54e208
push esi
mov dword [ebp - 0xd8], 1
call fcn.00436b70
add esp, 8
jmp case.0x43e36a.62
test byte [ebx + 8], 0x40
mov ecx, dword [ebp - 0xe8]
jne 0x44232b
mov eax, dword [ecx + 0xc]
mov ebx, dword [ecx + 8]
mov ecx, dword [ecx + 0x10]
add ebx, eax
lea edx, [ebx + ebx*4 + 0xa]
lea eax, [eax + edx*2]
lea eax, [ecx + eax*4]
mov ecx, dword [ebp - 0xdc]
cdq
push edx
push eax
call fcn.00418480
mov edi, eax
add esp, 8
test edi, edi
je 0x443550
mov esi, dword [ebp - 0xf4]
mov eax, esi
call fcn.00435b50
mov ecx, dword [ebp - 0xe8]
mov dword [esi], edi
mov edx, 0x40
mov word [esi + 8], dx
mov esi, dword [ebp - 0xec]
mov edx, dword [ebp - 0xe0]
sub edx, dword [ebp - 0x118]
mov dword [edi], esi
mov dword [edi + 0x3c], ebx
mov eax, dword [ecx + 0xc]
mov dword [edi + 0x40], eax
mov eax, 0x66666667
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x2c], eax
mov edx, dword [esi + 8]
mov dword [edi + 0x10], edx
mov eax, dword [esi + 0x1c]
mov dword [edi + 0x34], eax
mov edx, dword [esi + 0x38]
mov dword [edi + 0x18], edx
mov eax, dword [esi + 0x24]
mov dword [edi + 0x28], eax
mov edx, dword [esi + 4]
mov dword [edi + 8], edx
mov eax, dword [esi + 0x20]
mov dword [edi + 0x30], eax
mov edx, dword [ecx + 0x14]
mov dword [edi + 0x1c], edx
mov eax, dword [esi + 0xc8]
mov dword [edi + 0x14], eax
mov edx, dword [esi + 0xc4]
lea eax, [ebx + ebx*4 + 0xa]
mov dword [edi + 0x38], edx
lea edx, [edi + eax*8]
lea eax, [edi + 0x50]
cmp eax, edx
je 0x44232d
lea ebx, [ebx]
mov ebx, 0x80
mov word [eax + 8], bx
mov ebx, dword [ebp - 0xdc]
mov dword [eax + 0x20], ebx
add eax, 0x28
cmp eax, edx
jne 0x442310
jmp 0x44232d
mov edi, dword [ebx]
inc dword [esi + 0xb8]
mov edx, dword [esi + 0xb0]
mov eax, dword [ebp - 0x150]
mov dword [edi + 4], edx
mov edx, dword [ebp - 0x14c]
mov dword [edi + 0x20], eax
mov dword [edi + 0x24], edx
mov eax, dword [esi + 0x5c]
mov dword [edi + 0x44], eax
mov edx, dword [esi]
mov eax, dword [edx + 0x50]
mov dword [edi + 0x48], eax
mov dword [esi + 0xb0], edi
lea edx, [edi + 0x28]
mov dword [esi + 8], edx
mov dword [esi + 0x5c], 0
mov eax, dword [edi + 0x3c]
mov dword [esi + 0x1c], eax
movzx eax, word [edi + 0x40]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x1c]
lea eax, [eax + eax*4 + 5]
mov dword [ebp - 0x128], edx
lea edx, [edx + eax*8]
mov dword [esi + 0x38], edx
mov eax, dword [ecx]
mov dword [esi + 4], eax
mov edi, dword [ecx + 4]
mov dword [esi + 0x20], edi
mov edi, dword [esi + 0x24]
lea edx, [edx + edi*4]
mov dword [esi + 0xc8], edx
mov ecx, dword [ecx + 0x10]
push ecx
mov dword [ebp - 0x118], eax
add eax, 0xffffffec
push 0
push edx
mov dword [esi + 0xc4], ecx
mov dword [ebp - 0xe0], eax
call fcn.004f8f00
add esp, 0xc
jmp 0x4432f8
mov eax, dword [edi + 8]
mov edx, dword [esi + 8]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
mov ecx, 0x2460
test word [eax + 8], cx
je 0x4423ed
call fcn.0043e210
jmp 0x4423f6
mov edx, 4
mov word [eax + 8], dx
mov esi, dword [esi + 0xb0]
mov ecx, dword [esi + 0x2c]
mov edx, dword [esi + 8]
lea ecx, [ecx + ecx*4]
mov ecx, dword [edx + ecx*4 + 4]
add ecx, dword [edi + 4]
mov edx, dword [esi + 0x10]
lea ecx, [ecx + ecx*4]
push 0x1000
lea ecx, [edx + ecx*8]
push ecx
push eax
call fcn.004360f0
add esp, 0xc
jmp case.0x43e36a.62
mov ecx, dword [ebp - 0xdc]
test dword [ecx + 0x18], 0x1000000
mov eax, dword [edi + 8]
cdq
je 0x44244d
add dword [ecx + 0x200], eax
adc dword [ecx + 0x204], edx
jmp case.0x43e36a.62
cmp dword [edi + 4], 0
je 0x442464
add dword [ecx + 0x1f8], eax
adc dword [ecx + 0x1fc], edx
jmp case.0x43e36a.62
add dword [esi + 0x90], eax
adc dword [esi + 0x94], edx
jmp case.0x43e36a.62
cmp dword [edi + 4], 0
je 0x442495
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 0x1f8]
or edx, dword [eax + 0x1fc]
jne case.0x43e36a.62
jmp 0x4424ad
mov edx, dword [esi + 0x90]
or edx, dword [esi + 0x94]
jne case.0x43e36a.62
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x200]
or ecx, dword [eax + 0x204]
je 0x4432e2
jmp case.0x43e36a.62
mov esi, dword [esi + 0xb0]
test esi, esi
je 0x4424ee
mov ecx, esi
mov eax, dword [ecx + 4]
test eax, eax
je 0x4424e0
mov ecx, eax
mov eax, dword [ecx + 4]
test eax, eax
jne 0x4424d7
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [ecx + 0x10]
lea ebx, [eax + edx*8]
jmp 0x4424f7
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
lea ebx, [ebx + ecx*8]
mov esi, ebx
call fcn.00435d30
mov eax, dword [edi + 8]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x128]
lea esi, [eax + edx*8]
call fcn.00435d30
mov eax, dword [esi]
mov esi, dword [esi + 4]
cmp dword [ebx + 4], esi
jg case.0x43e36a.62
jl 0x44252c
mov edx, dword [ebx]
cmp edx, eax
jae case.0x43e36a.62
mov dword [ebx], eax
mov dword [ebx + 4], esi
jmp case.0x43e36a.62
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
cmp dword [ebx + eax*8 + 4], 0
jg 0x4432e2
jl case.0x43e36a.62
cmp dword [ebx + eax*8], 0
ja 0x4432e2
jmp case.0x43e36a.62
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
mov eax, dword [edi + 0xc]
cdq
add dword [ebx], eax
adc dword [ebx + 4], edx
cmp dword [ebx + 4], 0
jl 0x4432e2
jg case.0x43e36a.62
cmp dword [ebx], 0
jb 0x4432e2
jmp case.0x43e36a.62
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
mov esi, dword [ebx + ecx*8]
lea ecx, [ebx + ecx*8]
mov ebx, dword [ecx + 4]
mov edx, esi
or edx, ebx
je case.0x43e36a.62
mov eax, dword [edi + 0xc]
cdq
add eax, esi
adc edx, ebx
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x4432e2
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
add dword [ebx + eax*8], 0xffffffff
mov ecx, dword [ebx + eax*8]
lea eax, [ebx + eax*8]
adc dword [eax + 4], 0xffffffff
or ecx, dword [eax + 4]
je 0x4432e2
jmp case.0x43e36a.62
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov ecx, dword [ebx + edx*8]
lea eax, [ebx + edx*8]
mov edx, dword [eax + 4]
mov esi, ecx
add esi, 1
mov ebx, edx
adc ebx, 0
mov dword [eax], esi
mov dword [eax + 4], ebx
mov eax, ecx
or eax, edx
je 0x4432e2
jmp case.0x43e36a.62
movzx ebx, byte [edi + 3]
mov esi, dword [ebp - 0xdc]
lea eax, [ebx*4 + 0x1c]
push 0
push eax
call fcn.004184b0
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x443550
mov esi, dword [ebp - 0xe0]
mov dword [ecx + 8], 0
mov edx, dword [esi + 0x10]
mov dword [ecx + 4], edx
mov edx, esi
sub edx, dword [ebp - 0x118]
mov eax, 0x66666667
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0xec]
mov byte [ecx + 0x1a], bl
mov ebx, dword [ebp - 0x128]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0xc], edx
mov dword [esi + 0x10], ecx
mov word [esi], 0xec90
mov edi, esi
mov esi, edx
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x10]
lea ecx, [ecx + ecx*4]
lea edx, [ebx + ecx*8]
mov dword [ebp - 0x104], eax
mov dword [ebp - 0xf4], edx
cmp dword [eax + 8], edx
je 0x4426bd
movzx ecx, byte [eax + 0x1a]
dec ecx
mov dword [eax + 8], edx
js 0x4426bd
lea edx, [eax + ecx*4 + 0x1c]
mov eax, dword [edi + 8]
add eax, ecx
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [edx], eax
sub edx, 4
dec ecx
jns 0x4426a4
mov edx, dword [ebp - 0xf4]
inc dword [edx + 0xc]
mov eax, dword [ebp - 0x104]
mov edx, dword [ebp - 0xdc]
mov ecx, 1
mov word [ebp - 0x328], cx
mov dword [ebp - 0x310], edx
mov dword [ebp - 0x318], 0
mov edx, dword [eax + 4]
lea ecx, [ebp - 0x330]
mov dword [eax], ecx
lea ecx, [eax + 0x1c]
push ecx
movzx ecx, byte [eax + 0x1a]
push ecx
mov word [eax + 0x18], 0
mov edx, dword [edx + 0x10]
push eax
call edx
mov eax, dword [ebp - 0x104]
add esp, 0xc
cmp byte [eax + 0x19], 0
je 0x442757
mov ecx, eax
cmp dword [ecx + 0x14], 0
je 0x44274c
lea edx, [ebp - 0x330]
push edx
call fcn.0043b970
add esp, 4
push eax
push 0x54e1c4
push esi
call fcn.00436b70
mov eax, dword [ebp - 0x104]
mov ecx, dword [eax + 0x14]
add esp, 0xc
mov dword [ebp - 0xd8], ecx
lea eax, [ebp - 0x330]
call fcn.00435b50
mov edx, dword [ebp - 0x104]
cmp byte [edx + 0x18], 0
je case.0x43e36a.62
mov eax, dword [edi - 0x10]
test eax, eax
je case.0x43e36a.62
lea eax, [eax + eax*4]
push 0
push 1
lea eax, [ebx + eax*8]
call fcn.00435fa0
add esp, 8
jmp case.0x43e36a.62
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
lea ebx, [ebx + ecx*8]
mov ecx, dword [edi + 0x10]
mov eax, ebx
call fcn.00435980
mov dword [ebp - 0xd8], eax
test eax, eax
je 0x4427be
push ebx
call fcn.0043b970
add esp, 4
push eax
push 0x54e230
push esi
call fcn.00436b70
add esp, 0xc
movzx ecx, byte [ebp - 0x11d]
mov eax, ebx
call fcn.00435620
mov ecx, ebx
call fcn.00436090
test eax, eax
jne 0x443583
jmp case.0x43e36a.62
mov ecx, dword [edi + 8]
or eax, 0xffffffff
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xd0], eax
lea edx, [ebp - 0xcc]
push edx
mov edx, dword [edi + 4]
lea eax, [ebp - 0xd0]
push eax
mov eax, dword [ebp - 0xdc]
push ecx
push edx
xor esi, esi
push eax
mov dword [ebp - 0xd4], esi
call fcn.0048d450
add esp, 0x14
mov dword [ebp - 0xd8], eax
cmp eax, 5
jne 0x442837
mov dword [ebp - 0xd8], esi
mov dword [ebp - 0xd4], 1
mov eax, dword [edi + 0xc]
lea ecx, [eax + eax*4]
lea ebx, [ebx + ecx*8]
mov eax, dword [ebp + esi*4 - 0xd4]
cdq
push edx
push eax
mov eax, ebx
call fcn.00435fa0
inc esi
add esp, 8
add ebx, 0x28
cmp esi, 3
jl 0x442840
jmp case.0x43e36a.62
mov eax, dword [edi + 8]
lea edx, [eax + eax*4]
mov eax, dword [esi + 8]
lea eax, [eax + edx*8]
mov ecx, 0x2460
test word [eax + 8], cx
je 0x442880
call fcn.0043e210
jmp 0x442889
mov edx, 4
mov word [eax + 8], dx
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0x10]
mov ebx, dword [edi + 0xc]
mov dword [ebp - 0xe4], eax
mov eax, dword [edi + 4]
add eax, eax
mov eax, dword [edx + eax*8 + 4]
mov dword [ebp - 0xf4], eax
mov eax, dword [eax + 4]
mov eax, dword [eax]
movzx ecx, byte [eax + 5]
mov dword [ebp - 0x100], eax
mov dword [ebp - 0x104], ecx
cmp ebx, 0xffffffff
jne 0x4428c6
mov ebx, ecx
cmp byte [eax + 0x10], 3
jae 0x4428e2
mov edx, dword [eax + 0x40]
cmp dword [edx], 0
je 0x4428e4
cmp dword [eax + 0x4c], 0
jl 0x4428e4
jg 0x4428e2
cmp dword [eax + 0x48], 0
jbe 0x4428e4
mov ebx, ecx
cmp byte [eax + 0xf], 0
je 0x4428f1
mov eax, 0x55ba95
jmp 0x4428f7
mov eax, dword [eax + 0xa8]
cmp ebx, 5
jne 0x44291c
call fcn.0041aca0
test eax, eax
je 0x4429b2
mov eax, dword [ebp - 0x100]
call fcn.004274e0
test eax, eax
je 0x4429b2
cmp ebx, dword [ebp - 0x104]
je 0x4429b8
mov eax, dword [ebp - 0x104]
cmp eax, 5
je 0x44293c
cmp ebx, 5
jne 0x4429b8
mov ecx, dword [ebp - 0xdc]
cmp byte [ecx + 0x3f], 0
je 0x4429dd
cmp dword [ecx + 0x98], 1
jg 0x4429dd
cmp eax, 5
jne 0x44297b
mov esi, dword [ebp - 0x100]
mov eax, esi
call fcn.00427680
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x4429b2
mov eax, ebx
mov ecx, esi
jmp 0x44298b
cmp eax, 4
jne 0x442990
mov ecx, dword [ebp - 0x100]
mov eax, 2
call fcn.00427370
xor eax, eax
cmp ebx, 5
sete al
inc eax
push eax
mov eax, dword [ebp - 0xf4]
call fcn.00434260
add esp, 4
mov dword [ebp - 0xd8], eax
test eax, eax
je 0x4429b8
mov ebx, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x100]
mov eax, ebx
call fcn.00427370
mov esi, dword [ebp - 0xe4]
mov ecx, 0xa02
mov word [esi + 8], cx
cmp eax, 6
jne 0x442a0a
xor eax, eax
jmp 0x442a11
mov dword [ebp - 0xd8], 1
mov eax, 0x54e234
cmp ebx, 5
je 0x4429f6
mov eax, 0x54e23c
push eax
push 0x54e244
push esi
call fcn.00436b70
add esp, 0xc
jmp case.0x43e36a.62
mov eax, dword [eax*4 + 0x5351ac]
mov dword [esi + 0x10], eax
call fcn.0041aca0
movzx ecx, byte [ebp - 0x11d]
mov dword [esi + 0xc], eax
mov eax, esi
mov byte [esi + 0xa], 1
call fcn.00435620
jmp case.0x43e36a.62
mov eax, dword [ebp - 0xec]
mov esi, dword [ebp - 0xdc]
add eax, 0x2c
call fcn.0047b070
mov dword [ebp - 0xd8], eax
jmp case.0x43e36a.62
mov edx, dword [edi + 4]
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x10]
shl edx, 4
mov eax, dword [edx + ecx + 4]
push eax
call fcn.0042d650
add esp, 4
mov dword [ebp - 0xd8], eax
cmp eax, 0x65
jne case.0x43e36a.62
mov dword [ebp - 0xd8], 0
jmp 0x4432e2
cmp dword [edi + 4], 0
jne 0x442aa2
mov eax, dword [ebp - 0xdc]
call fcn.0043b380
jmp case.0x43e36a.62
or dword [esi + 0x58], 8
jmp case.0x43e36a.62
mov cl, byte [edi + 0xc]
test cl, cl
jne 0x442ac5
mov edx, dword [ebp - 0xdc]
test dword [edx + 0x18], 0x4000
jne case.0x43e36a.62
mov edx, dword [edi + 8]
mov eax, dword [edi + 4]
push edx
mov edx, dword [ebp - 0xdc]
mov edx, dword [edx + 0x10]
add eax, eax
mov eax, dword [edx + eax*8 + 4]
call fcn.00434180
add esp, 4
mov dword [ebp - 0xd8], eax
cmp al, 6
jne case.0x43e36a.62
mov eax, dword [edi + 0x10]
push eax
push 0x54e278
push esi
call fcn.00436b70
add esp, 0xc
jmp case.0x43e36a.62
mov edi, dword [edi + 0x10]
mov esi, dword [ebp - 0xdc]
call fcn.0047c830
mov dword [ebp - 0xd8], eax
test edi, edi
je 0x4432f8
mov ecx, dword [edi + 8]
mov edx, dword [ebp - 0xec]
push ecx
push edx
call fcn.0043b450
add esp, 8
jmp 0x4432f8
mov edi, dword [edi + 8]
xor eax, eax
mov dword [ebp - 0x258], eax
mov dword [ebp - 0x278], eax
mov dword [ebp - 0x274], eax
mov dword [ebp - 0x270], eax
mov dword [ebp - 0x26c], eax
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x264], eax
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x25c], eax
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0xdc]
lea ecx, [edi + edi*4]
mov dword [ebp - 0x258], eax
lea edi, [ebx + ecx*8]
lea eax, [ebp - 0x278]
call fcn.00436160
lea edx, [ebp - 0x278]
push edx
mov dword [ebp - 0xd8], eax
call fcn.0043b970
add esp, 4
test eax, eax
je 0x442bdb
mov ecx, dword [ebp - 0xec]
mov edx, dword [ebp - 0xe0]
add ecx, 0x2c
push ecx
mov ecx, dword [ebp - 0xdc]
push eax
mov eax, dword [edx + 4]
call fcn.0047c300
add esp, 8
mov dword [ebp - 0xd8], eax
lea eax, [ebp - 0x278]
call fcn.00435b50
jmp 0x4432f8
mov esi, dword [ebp - 0xdc]
inc dword [esi + 0xa4]
mov eax, dword [edi + 0x10]
push eax
mov eax, dword [edi + 4]
mov ecx, esi
call fcn.0047c600
add esp, 4
dec dword [esi + 0xa4]
mov dword [ebp - 0xd8], eax
jmp case.0x43e36a.62
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x10c], 0
mov ebx, dword [ecx + 8]
test ebx, ebx
je 0x442c9c
mov eax, dword [ebx]
mov dword [ebp - 0xf4], eax
test eax, eax
je 0x442c9c
mov ecx, dword [eax + 0x18]
lea edx, [ebp - 0x10c]
push edx
push ebx
call ecx
push ebx
push esi
mov dword [ebp - 0xd8], eax
call fcn.0043b450
add esp, 0x10
cmp dword [ebp - 0xd8], 0
jne case.0x43e36a.62
mov edx, dword [ebp - 0x10c]
mov esi, dword [ebp - 0xec]
push 0
push 0xffffffffffffffff
mov dword [edx], ebx
mov eax, dword [edi + 4]
push 0
push eax
call fcn.0043df20
add esp, 0x10
test eax, eax
je 0x44353b
mov ecx, dword [ebp - 0x10c]
mov dword [eax + 0x24], ecx
inc dword [ebx + 4]
jmp case.0x43e36a.62
mov dword [ebp - 0xd8], 6
jmp case.0x43e36a.62
mov eax, dword [edi + 0xc]
mov ecx, dword [esi + 0x38]
lea edx, [eax + eax*4]
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [ebx + edx*8]
lea edx, [ebx + edx*8]
mov ebx, dword [eax + 0x24]
mov dword [ebp - 0x104], eax
mov eax, dword [ebx]
mov dword [ebp - 0x114], eax
mov eax, dword [eax]
mov dword [ebp - 0xe8], ecx
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0x124], eax
mov eax, dword [edx + 0x28]
mov dword [ebp - 0xf4], ecx
xor ecx, ecx
mov dword [ebp - 0x108], ebx
mov dword [ebp - 0x100], 0
test eax, eax
jle 0x442d21
mov ebx, dword [ebp - 0xf4]
add edx, 0x50
lea ebx, [ebx]
mov dword [ebx + ecx*4], edx
inc ecx
add edx, 0x28
cmp ecx, eax
jl 0x442d10
mov ebx, dword [ebp - 0x108]
mov edx, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xe8]
push edx
mov edx, dword [ebp - 0x124]
push eax
mov eax, dword [edi + 0x10]
push eax
mov eax, dword [edx + 0x20]
push ecx
push ebx
call eax
mov ecx, dword [ebp - 0x114]
add esp, 0x14
push ecx
push esi
mov dword [ebp - 0xd8], eax
call fcn.0043b450
add esp, 8
cmp dword [ebp - 0xd8], 0
jne 0x442d73
mov edx, dword [ebp - 0x124]
mov eax, dword [edx + 0x28]
push ebx
call eax
add esp, 4
jmp 0x442d79
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0x104]
mov byte [ecx + 0x19], 0
test eax, eax
jne 0x4432e2
jmp case.0x43e36a.62
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x38]
mov ecx, dword [eax + edx*4]
cmp byte [ecx + 0x19], 0
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
lea ebx, [ebx + edx*8]
je 0x442db4
mov eax, ebx
call fcn.00435f40
jmp case.0x43e36a.62
mov eax, dword [ecx + 0x24]
mov eax, dword [eax]
mov edx, dword [eax]
mov dword [ebp - 0x124], eax
xor eax, eax
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x294], eax
mov dword [ebp - 0x290], eax
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x288], eax
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x280], eax
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0xf4], edx
mov dword [ebp - 0x298], ebx
mov ax, word [ebx + 8]
mov edx, 0xbe01
and ax, dx
or ax, 1
mov word [ebx + 8], ax
mov eax, dword [edi + 8]
push eax
mov eax, dword [ecx + 0x24]
mov ecx, dword [ebp - 0xf4]
lea edx, [ebp - 0x298]
push edx
mov edx, dword [ecx + 0x2c]
push eax
call edx
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x124]
add esp, 0xc
push eax
push esi
call fcn.0043b450
mov eax, dword [ebp - 0x284]
add esp, 8
test eax, eax
je 0x442e56
mov dword [ebp - 0xd8], eax
movzx ecx, byte [ebp - 0x11d]
mov eax, ebx
call fcn.00435620
mov ecx, ebx
call fcn.00436090
test eax, eax
jne 0x443583
jmp case.0x43e36a.62
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x38]
mov eax, dword [edx + ecx*4]
cmp byte [eax + 0x19], 0
mov dword [ebp - 0xf4], eax
jne case.0x43e36a.62
mov eax, dword [eax + 0x24]
mov ebx, dword [eax]
mov ecx, dword [ebx]
mov dword [ebp - 0x124], ecx
mov ecx, dword [ecx + 0x24]
push eax
call ecx
add esp, 4
push ebx
push esi
mov dword [ebp - 0xd8], eax
call fcn.0043b450
add esp, 8
cmp dword [ebp - 0xd8], 0
jne case.0x43e36a.14
mov edx, dword [ebp - 0xf4]
mov eax, dword [edx + 0x24]
mov ecx, dword [ebp - 0x124]
mov edx, dword [ecx + 0x28]
push eax
call edx
add esp, 4
test eax, eax
jne 0x442ef2
mov edi, dword [edi + 8]
mov ecx, dword [ebp - 0x118]
lea eax, [edi + edi*4]
lea edx, [ecx + eax*4 - 0x14]
mov dword [ebp - 0xe0], edx
mov edi, dword [ebp - 0xdc]
mov eax, dword [edi + 0xf0]
test eax, eax
jne 0x4435a0
mov esi, dword [edi + 0x124]
test esi, esi
je 0x4432f8
mov ebx, dword [ebp - 0x158]
cmp ebx, dword [ebp - 0x18c]
jb 0x4432f8
mov ecx, dword [edi + 0x12c]
xor edx, edx
mov eax, ebx
div ecx
sub ecx, edx
add ecx, ebx
mov dword [ebp - 0x18c], ecx
mov ecx, dword [edi + 0x128]
push ecx
call esi
add esp, 4
test eax, eax
je 0x4432f8
mov dword [ebp - 0xd8], 9
mov esi, dword [ebp - 0xec]
mov edx, dword [esi + 0x2c]
mov eax, dword [esi + 0xa8]
mov ecx, dword [ebp - 0xe0]
sub ecx, dword [ebp - 0x118]
mov edi, dword [ebp - 0xd8]
push edx
push eax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
push ecx
push 0x54e298
push edi
mov dword [esi + 0x50], edi
call fcn.0041a1c0
add esp, 0x14
mov eax, esi
call fcn.004393c0
cmp edi, 0xc0a
jne 0x442fb9
mov edx, dword [ebp - 0xdc]
mov byte [edx + 0x41], 1
mov al, byte [ebp - 0x129]
mov ebx, 1
test al, al
je 0x442fff
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0x10]
movzx esi, al
dec esi
mov eax, esi
add eax, eax
mov eax, dword [edx + eax*8 + 0xc]
push eax
call fcn.0045a910
add esp, 4
cmp esi, ebx
je 0x442fff
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + 0x1c]
push eax
call fcn.0045a910
add esp, 4
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0x150]
mov edx, dword [ebp - 0x14c]
mov dword [eax + 0x20], ecx
mov ecx, dword [ebp - 0x158]
mov dword [eax + 0x24], edx
mov eax, dword [ebp - 0xec]
add dword [eax + 0x7c], ecx
cmp dword [eax + 0x64], 0
je 0x443035
push eax
call fcn.00437bd0
add esp, 4
mov ecx, dword [ebp - 4]
pop edi
pop esi
mov eax, ebx
xor ecx, ebp
pop ebx
call fcn.004f7824
mov esp, ebp
pop ebp
ret
mov edx, dword [edi + 0x10]
mov eax, dword [edx + 8]
mov dword [ebp - 0xf4], eax
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
lea ebx, [ebx + ecx*8]
mov ecx, 1
mov eax, ebx
call fcn.00435620
mov dword [ebp - 0xd8], eax
test eax, eax
jne case.0x43e36a.62
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebx + 0x10]
mov edx, dword [eax]
mov edx, dword [edx + 0x4c]
push ecx
push eax
call edx
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xf4]
push eax
push esi
call fcn.0043b450
add esp, 0x10
and dword [esi + 0x58], 0xfffffff7
jmp case.0x43e36a.62
mov ecx, dword [edi + 0x10]
mov eax, dword [ecx + 8]
mov dword [ebp - 0xf4], eax
test eax, eax
je 0x442c9c
mov eax, dword [eax]
mov dword [ebp - 0x124], eax
test eax, eax
je 0x442c9c
cmp dword [eax + 0x34], 0
mov ecx, dword [edi + 8]
je case.0x43e36a.62
mov eax, dword [ebp - 0xec]
mov ebx, dword [ebp - 0xdc]
mov esi, dword [eax + 0xc]
mov dl, byte [ebx + 0x45]
mov eax, dword [edi + 0xc]
mov byte [ebp - 0x119], dl
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x128]
lea edx, [eax + edx*8]
xor eax, eax
test ecx, ecx
jle 0x443111
mov dword [esi + eax*4], edx
inc eax
add edx, 0x28
cmp eax, ecx
jl 0x443106
mov dl, byte [edi + 3]
lea eax, [ebp - 0x218]
push eax
push esi
mov byte [ebx + 0x45], dl
mov edx, dword [ebp - 0x124]
mov eax, dword [edx + 0x34]
push ecx
mov ecx, dword [ebp - 0xf4]
push ecx
call eax
mov edx, dword [ebp - 0xf4]
mov cl, byte [ebp - 0x119]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xec]
push edx
push eax
mov byte [ebx + 0x45], cl
call fcn.0043b450
mov edx, dword [ebp - 0xd8]
add esp, 0x18
test edx, edx
jne 0x443184
cmp dword [edi + 4], edx
je 0x443184
mov eax, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x14c], ecx
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x24], ecx
cmp dl, 0x13
jne 0x4431d0
mov ecx, dword [edi + 0x10]
cmp byte [ecx + 0x10], 0
je 0x4431d0
mov al, byte [edi + 3]
cmp al, 4
jne 0x4431a8
mov dword [ebp - 0xd8], 0
jmp case.0x43e36a.62
cmp al, 5
jne 0x4431bf
mov edx, dword [ebp - 0xec]
mov eax, 2
mov byte [edx + 0x56], al
jmp case.0x43e36a.62
mov edx, dword [ebp - 0xec]
movzx eax, al
mov byte [edx + 0x56], al
jmp case.0x43e36a.62
mov eax, dword [ebp - 0xec]
inc dword [eax + 0x5c]
jmp case.0x43e36a.62
mov eax, dword [edi + 8]
mov ecx, dword [esi + 8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov edx, 0x2460
test word [eax + 8], dx
je 0x4431fc
call fcn.0043e210
jmp 0x443205
mov ecx, 4
mov word [eax + 8], cx
mov edx, dword [edi + 4]
mov ecx, dword [ebp - 0xdc]
mov ecx, dword [ecx + 0x10]
add edx, edx
mov edx, dword [ecx + edx*8 + 4]
mov ecx, dword [edx + 4]
mov edx, dword [ecx + 0x2c]
mov dword [eax], edx
mov dword [eax + 4], 0
jmp case.0x43e36a.62
mov eax, dword [edi + 8]
mov ecx, dword [esi + 8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov edx, 0x2460
test word [eax + 8], dx
je 0x443249
call fcn.0043e210
jmp 0x443252
mov ecx, 4
mov word [eax + 8], cx
mov edx, dword [edi + 4]
mov esi, eax
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x10]
add edx, edx
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [edi + 0xc]
xor ebx, ebx
test ecx, ecx
je 0x44327b
mov edx, dword [eax + 4]
mov ebx, dword [edx + 0x2c]
cmp ebx, ecx
jae 0x44327b
mov ebx, ecx
call fcn.0042c870
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.0x43e36a.62
mov eax, dword [ebp - 0xdc]
cmp dword [eax + 0xb0], 0
je 0x4432dc
test dword [esi + 0x58], 0x200
jne 0x4432dc
mov edx, dword [edi + 0x10]
test edx, edx
jne 0x4432b1
mov edx, dword [esi + 0xa8]
test edx, edx
je 0x4432dc
mov ecx, esi
call fcn.0043daa0
mov esi, dword [ebp - 0xdc]
mov ecx, dword [esi + 0xb4]
mov edx, dword [esi + 0xb0]
mov ebx, eax
push ebx
push ecx
call edx
add esp, 8
mov eax, ebx
mov ecx, esi
call fcn.00418230
cmp dword [edi + 8], 0
je case.0x43e36a.62
mov edi, dword [edi + 8]
mov ecx, dword [ebp - 0x118]
lea eax, [edi + edi*4]
lea edx, [ecx + eax*4 - 0x14]
mov dword [ebp - 0xe0], edx
mov edi, dword [ebp - 0xe0]
add edi, 0x14
cmp dword [ebp - 0xd8], 0
mov dword [ebp - 0xe0], edi
jne 0x442f5a
mov esi, dword [ebp - 0xec]
mov edi, dword [ebp - 0xdc]
mov ebx, dword [ebp - 0x128]
jmp 0x43e340
mov eax, dword [edi + 4]
mov dword [esi + 0x50], eax
mov cl, byte [edi + 8]
mov byte [esi + 0x56], cl
mov dword [esi + 0x4c], ebx
test eax, eax
je 0x4433a9
mov al, byte [edi + 3]
test al, al
je 0x44336c
movzx edx, al
mov ecx, dword [edx*4 + 0x5349bc]
test ecx, ecx
je 0x44336e
mov eax, dword [edi + 0x10]
test eax, eax
je 0x44336e
push eax
push ecx
push 0x54e004
push esi
call fcn.00436b70
add esp, 0x10
jmp 0x44338c
xor ecx, ecx
mov eax, dword [edi + 0x10]
test eax, eax
je 0x44337d
push eax
push 0x54e020
jmp 0x443383
push ecx
push 0x54e024
push esi
call fcn.00436b70
add esp, 0xc
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0xa8]
mov edx, dword [edi + 4]
push eax
push ecx
push ebx
push 0x54dfec
push edx
call fcn.0041a1c0
add esp, 0x14
mov eax, esi
call fcn.004393c0
mov ebx, 5
cmp eax, ebx
jne 0x4433c1
mov dword [esi + 0x50], ebx
jmp 0x442fff
mov ebx, dword [esi + 0x50]
neg ebx
sbb ebx, ebx
and ebx, 0xffffff9c
add ebx, 0x65
jmp 0x442fff
sub edi, dword [ebp - 0x118]
mov eax, 0x66666667
imul edi
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x4c], eax
mov byte [ebx + 0x3f], 0
mov ebx, 5
mov dword [esi + 0x50], ebx
jmp 0x442fff
test ecx, ecx
je 0x44343c
mov esi, dword [ebp - 0xdc]
push 0x204
mov eax, esi
call fcn.0048c850
add esp, 4
mov byte [esi + 0x3f], 1
mov ebx, esi
mov edi, ebx
call fcn.0048bea0
mov edx, dword [ebp - 0xec]
mov ebx, dword [edx + 0x50]
neg ebx
sbb ebx, ebx
and ebx, 0xffffff9c
add ebx, 0x65
jmp 0x442fff
mov esi, dword [ebp - 0xec]
push 1
call fcn.00439350
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x442fff
mov cl, byte [ebp - 0xf4]
mov ebx, dword [ebp - 0xdc]
mov eax, esi
mov byte [ebx + 0x3f], cl
call fcn.004393c0
cmp eax, 5
jne 0x44341d
sub edi, dword [ebp - 0x118]
mov eax, 0x66666667
imul edi
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, 1
sub cl, byte [ebp - 0xf4]
mov dword [esi + 0x4c], eax
mov byte [ebx + 0x3f], cl
mov ebx, 5
mov dword [esi + 0x50], ebx
jmp 0x442fff
mov dword [ebp - 0xd8], 8
jmp 0x4412fa
sub edi, dword [ebp - 0x118]
mov eax, 0x66666667
imul edi
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, 5
mov dword [esi + 0x4c], eax
mov dword [esi + 0x50], ebx
jmp 0x442fff
mov eax, 0x12694
call fcn.0048e9c0
mov dword [ebp - 0xd8], eax
jmp 0x4412fa
cmp dword [ebp - 0xd8], 0xc0a
je 0x442f5a
cmp dword [ebp - 0xd8], 0x204
je 0x44351c
mov ecx, dword [ebp - 0xd8]
mov eax, 0x552ac8
call fcn.0048c9a0
jmp 0x443521
mov eax, 0x552ad8
mov edx, dword [ebp - 0xec]
push eax
push 0x54e2e0
push edx
call fcn.00436b70
add esp, 0xc
jmp 0x442f5a
mov eax, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0xf4]
mov edx, dword [ecx + 0x1c]
push eax
call edx
add esp, 4
mov ecx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xdc]
push 0x54e2d0
push ecx
mov byte [eax + 0x41], 1
call fcn.00436b70
add esp, 8
mov dword [ebp - 0xd8], 7
jmp 0x442f5a
mov esi, dword [ebp - 0xec]
push 0x54e2b8
push esi
call fcn.00436b70
add esp, 8
mov dword [ebp - 0xd8], 0x12
jmp 0x442f5a
mov eax, 9
mov dword [esi + 0x50], eax
mov ecx, dword [0x537924]
mov dword [ebp - 0xd8], eax
mov eax, 0x552ac8
test ecx, ecx
je 0x4435bf
mov eax, ecx
push eax
push 0x54e2e4
push esi
call fcn.00436b70
add esp, 0xc
jmp 0x442f5a