Function at 0x43d784
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffcc
push ebx
push esi
push edi
mov dword [ebp - 4], eax
mov dword [ebp - 0x2c], 0xffffffff
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x43d7d7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x43d7cd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 4]
mov ebx, dword [eax + esi*4]
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
dec esi
cmp esi, 0xffffffff
jne 0x43d7af
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov edx, dword [eax]
call dword [edx]
push 0
push 0
push 0
or ecx, 0xffffffff
or edx, 0xffffffff
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov bl, 1
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x4c]
mov byte [ebp - 0x2d], al
dec al
je 0x43d807
sub al, 2
je 0x43d890
jmp 0x43d899
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
jne 0x43d817
xor ebx, ebx
jmp 0x43f927
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x48]
mov eax, dword [eax + edx*4]
mov edx, dword [ebp - 4]
mov dword [edx + 0x50], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
call fcn.00402a9c
cmp eax, 0x431a0c
jne 0x43d85e
mov dl, 7
mov eax, dword [ebp - 4]
call fcn.0043543c
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 1
jmp 0x43f927
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x54], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x58], eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x60], 0xffffffff
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x5c], edx
jmp 0x43d8a0
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x43d8a0
xor ebx, ebx
jmp 0x43f927
mov eax, dword [ebp - 4]
push eax
mov eax, dword [eax]
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x64]
call fcn.0043d764
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x43f8b3
cmp dword [ebp - 0x34], 0
je 0x43d8cf
mov eax, dword [ebp - 4]
call dword [ebp - 0x34]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43d8ec
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043543c
jmp 0x43f8c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x5c]
movzx eax, byte [eax + edx]
mov edx, dword [ebp - 4]
inc dword [edx + 0x5c]
cmp eax, 0xe
jg 0x43d955
je 0x43f376
cmp eax, 0xd
ja case.default.0x43d96c
jmp dword [eax*4 + 0x43d91d]
cmp eax, 0x15
jg 0x43d98b
je 0x43e976
add eax, 0xfffffff1
cmp eax, 5
ja case.default.0x43d96c
jmp dword [eax*4 + 0x43d973]
cmp eax, 0x19
jg 0x43d9b2
je 0x43e3d5
sub eax, 0x16
je 0x43f078
dec eax
je 0x43f2c5
dec eax
je 0x43f214
jmp case.default.0x43d96c
sub eax, 0x1a
je 0x43e422
sub eax, 0xe5
je 0x43f8b3
jmp case.default.0x43d96c
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c36c
test al, al
je 0x43f8c0
cmp byte [ebp - 8], 0
je 0x43da83
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43da02
sub al, 2
je 0x43da02
sub al, 6
je 0x43da02
sub al, 4
jne 0x43da0d
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.0043354c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 4]
mov esi, dword [ecx + edx*4 - 4]
sub esi, dword [eax + 0x14]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jle 0x43da46
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431674
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov dword [eax + 0x1c], esi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x43da74
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446864
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0043543c
jmp 0x43f8c0
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c36c
test al, al
je 0x43f8c0
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.00436880
test al, al
jne 0x43db65
cmp byte [ebp - 0x14], 0
je 0x43f8c0
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43dad8
sub al, 2
je 0x43dad8
sub al, 6
je 0x43dad8
sub al, 4
jne 0x43dae3
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.0043354c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov esi, dword [edx + eax*4 - 4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
sub esi, dword [eax + 0x14]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jle 0x43db2e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431674
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov dword [eax + 0x1c], esi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x43f8c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446864
jmp 0x43f8c0
cmp byte [ebp - 0x14], 0
je 0x43f8b3
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43db87
sub al, 2
je 0x43db87
sub al, 6
je 0x43db87
sub al, 4
jne 0x43db92
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.0043354c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 4]
mov esi, dword [ecx + edx*4 - 4]
sub esi, dword [eax + 0x14]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jle 0x43dbcb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431674
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov dword [eax + 0x1c], esi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x43f8b3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446864
jmp 0x43f8b3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43dc1f
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043543c
jmp 0x43f8c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x5c]
xor ebx, ebx
mov bl, byte [eax + edx]
mov eax, dword [ebp - 4]
inc dword [eax + 0x5c]
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c36c
test al, al
je 0x43f8c0
cmp byte [ebp - 8], 0
je 0x43dcee
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43dc6d
sub al, 2
je 0x43dc6d
sub al, 6
je 0x43dc6d
sub al, 4
jne 0x43dc78
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.0043354c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 4]
mov esi, dword [ecx + edx*4 - 4]
sub esi, dword [eax + 0x14]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jle 0x43dcb1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431674
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov dword [eax + 0x1c], esi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x43dcdf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446864
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0043543c
jmp 0x43f8c0
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c36c
test al, al
je 0x43f8c0
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x18]
push eax
push ebx
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.00439114
test al, al
jne 0x43ddd1
cmp byte [ebp - 0x14], 0
je 0x43f8c0
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43dd44
sub al, 2
je 0x43dd44
sub al, 6
je 0x43dd44
sub al, 4
jne 0x43dd4f
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.0043354c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov esi, dword [edx + eax*4 - 4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
sub esi, dword [eax + 0x14]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jle 0x43dd9a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431674
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov dword [eax + 0x1c], esi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x43f8c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446864
jmp 0x43f8c0
cmp byte [ebp - 0x14], 0
je 0x43f8b3
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43ddf3
sub al, 2
je 0x43ddf3
sub al, 6
je 0x43ddf3
sub al, 4
jne 0x43ddfe
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.0043354c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 4]
mov esi, dword [ecx + edx*4 - 4]
sub esi, dword [eax + 0x14]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jle 0x43de37
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431674
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov dword [eax + 0x1c], esi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x43f8b3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446864
jmp 0x43f8b3
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c36c
test al, al
je 0x43f8c0
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446ab8
mov esi, eax
mov eax, esi
add eax, 4
mov dword [ebp - 0x10], eax
mov eax, dword [esi]
mov dword [ebp - 0xc], eax
mov byte [ebp - 8], 0
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.00436880
test al, al
jne 0x43df71
cmp byte [ebp - 0x14], 0
je 0x43f8c0
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43dee4
sub al, 2
je 0x43dee4
sub al, 6
je 0x43dee4
sub al, 4
jne 0x43deef
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.0043354c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov esi, dword [edx + eax*4 - 4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
sub esi, dword [eax + 0x14]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jle 0x43df3a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431674
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov dword [eax + 0x1c], esi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x43f8c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446864
jmp 0x43f8c0
cmp byte [ebp - 0x14], 0
je 0x43f8b3
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43df93
sub al, 2
je 0x43df93
sub al, 6
je 0x43df93
sub al, 4
jne 0x43df9e
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.0043354c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 4]
mov esi, dword [ecx + edx*4 - 4]
sub esi, dword [eax + 0x14]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jle 0x43dfd7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431674
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov dword [eax + 0x1c], esi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x43f8b3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446864
jmp 0x43f8b3
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c36c
test al, al
je 0x43f8c0
cmp byte [ebp - 0x14], 0
je 0x43e043
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446a58
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0043543c
jmp 0x43f8c0
mov dl, 0xd
mov eax, dword [ebp - 4]
call fcn.0043d398
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446ab8
mov esi, eax
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xc], 0xd
jne 0x43e082
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x1c]
add eax, 4
mov eax, dword [eax]
mov dword [esi + 8], eax
xor eax, eax
mov dword [esi + 0xc], eax
jmp 0x43f8b3
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x18]
mov dword [esi + 8], eax
xor eax, eax
mov dword [esi + 0xc], eax
jmp 0x43f8b3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
cmp dword [eax + 0xc], 0
jne 0x43e0b3
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.0043543c
jmp 0x43f8c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 4]
mov esi, dword [eax + edx*4 - 4]
test esi, esi
je 0x43e0cf
mov eax, dword [esi]
cmp byte [eax + 0xc], 0
jne 0x43e0de
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.0043543c
jmp 0x43f8c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
cmp dword [eax + 0x10], 0x200
jle 0x43e10a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00431674
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, esi
sub edx, dword [eax + 0x14]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov dword [eax + 0x1c], edx
mov eax, dword [esi]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43e135
sub al, 2
je 0x43e135
sub al, 6
je 0x43e135
sub al, 4
jne 0x43e141
mov edx, dword [esi]
mov eax, esi
add eax, 4
call fcn.0043354c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, dword [eax + 0x18]
sub edx, dword [eax + 0x1c]
shr edx, 0xc
cmp edx, 2
jle 0x43f8b3
call fcn.00446864
jmp 0x43f8b3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e183
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043543c
jmp 0x43f8c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x5c]
add eax, edx
mov esi, dword [eax]
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp esi, dword [eax + 0xc]
jb 0x43e1b4
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.0043543c
jmp 0x43f8c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 4]
mov ebx, dword [eax + esi*4]
mov eax, ebx
call fcn.00402a9c
cmp eax, 0x431a0c
jne 0x43e355
xor eax, eax
push ebp
push 0x43e226
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x3c]
mov edx, ebx
mov eax, dword [ebp - 4]
call dword [ebx + 0x14]
test al, al
jne 0x43e219
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x43e20c
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.0043543c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x43f8c0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x43f8b3
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446ab8
mov esi, eax
mov eax, esi
add eax, 4
mov dword [ebp - 0x10], eax
mov eax, dword [esi]
mov dword [ebp - 0xc], eax
mov byte [ebp - 8], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov dword [esi + 4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov dword [esi + 8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
dec eax
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x50], ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x54], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x58], eax
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x5c], edx
jmp 0x43f8b3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446a58
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e400
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043543c
jmp 0x43f8c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x5c]
add eax, edx
mov esi, dword [eax]
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x43f8b3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446a58
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446a58
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e458
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043543c
jmp 0x43f8c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x5c]
add eax, edx
mov esi, dword [eax]
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x43f8b3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e49a
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043543c
jmp 0x43f8c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x5c]
add eax, edx
mov esi, dword [eax]
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x43f8b3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e4dc
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043543c
jmp 0x43f8c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x5c]
add eax, edx
mov esi, dword [eax]
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov bl, 1
lea edx, [ebp - 0x1c]
mov ecx, ebx
mov eax, dword [ebp - 4]
call fcn.0043c36c
test al, al
je 0x43f8c0
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43e516.0
jmp dword [eax*4 + 0x43e51d]
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
setne bl
jmp 0x43e5a1
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
setne bl
jmp 0x43e5a1
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
setne bl
jmp 0x43e5a1
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
setne bl
jmp 0x43e5a1
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
setne bl
jmp 0x43e5a1
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
setne bl
jmp 0x43e5a1
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.0043543c
cmp byte [ebp - 0x14], 0
je 0x43f8c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446a58
jmp 0x43f8c0
cmp byte [ebp - 0x14], 0
je 0x43e5b2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446a58
test bl, bl
je 0x43f8b3
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x43f8b3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e5e5
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043543c
jmp 0x43f8c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x5c]
add eax, edx
mov esi, dword [eax]
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov bl, 1
lea edx, [ebp - 0x1c]
mov ecx, ebx
mov eax, dword [ebp - 4]
call fcn.0043c36c
test al, al
je 0x43f8c0
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43e61f.0
jmp dword [eax*4 + 0x43e626]
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
sete bl
jmp 0x43e6aa
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
sete bl
jmp 0x43e6aa
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
sete bl
jmp 0x43e6aa
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
sete bl
jmp 0x43e6aa
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
sete bl
jmp 0x43e6aa
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
sete bl
jmp 0x43e6aa
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.0043543c
cmp byte [ebp - 0x14], 0
je 0x43f8c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446a58
jmp 0x43f8c0
cmp byte [ebp - 0x14], 0
je 0x43e6bb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446a58
test bl, bl
je 0x43f8b3
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x43f8b3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
dec eax
mov dword [ebp - 0x2c], eax
xor esi, esi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
jle 0x43e7ed
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x28]
mov edx, dword [edx + 4]
mov ebx, dword [edx + eax*4 - 4]
jmp 0x43e7ca
cmp dword [ebx + 0x10], 0xfffffffe
jne 0x43e721
push 0
push 0
push 0
or ecx, 0xffffffff
or edx, 0xffffffff
mov eax, dword [ebp - 4]
mov edi, dword [eax]
call dword [edi + 8]
jmp 0x43e74f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebx + 8]
jbe 0x43e74f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
dec eax
mov edi, dword [ebx + 8]
sub edi, eax
ja 0x43e74f
dec edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446a58
inc edi
jne 0x43e741
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
mov eax, dword [ebx + 0xc]
cmp eax, 0xffffffff
je 0x43e774
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0xc], 0xffffffff
mov esi, 1
jmp 0x43e7ed
cmp dword [ebx + 0x14], 0xffffffff
je 0x43e791
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
mov esi, 1
jmp 0x43e7ed
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.0043171c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x43e7ed
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x28]
mov edx, dword [edx + 4]
mov ebx, dword [edx + eax*4 - 4]
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 4]
cmp edx, dword [ecx + 0x60]
je 0x43e705
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
jbe 0x43e7ed
cmp eax, 0xffffffff
jne 0x43e705
test esi, esi
jne 0x43f8b3
mov dword [ebp - 0x2c], 0xffffffff
mov eax, dword [ebp - 4]
cmp dword [eax + 0x60], 0xffffffff
jne 0x43e813
mov al, byte [ebp - 0x2d]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x43f8c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + 0xc]
dec esi
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x60]
inc edi
sub edi, esi
jg 0x43e837
dec edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446a58
inc edi
jne 0x43e829
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
ja 0x43e856
mov al, byte [ebp - 0x2d]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x43f8c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x60]
mov esi, dword [eax + edx*4]
mov eax, dword [esi + 4]
mov edx, dword [ebp - 4]
mov dword [edx + 0x50], eax
mov eax, dword [esi + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov eax, dword [esi + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446a58
mov eax, dword [ebp - 4]
cmp dword [eax + 0x50], 0
jne 0x43e8a5
mov al, byte [ebp - 0x2d]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x43f8c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x54], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x58], eax
jmp 0x43f8b3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e8e8
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043543c
jmp 0x43f8c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x5c]
add eax, edx
mov esi, dword [eax]
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34]
cmp esi, dword [eax + 0xc]
jbe 0x43e919
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.0043543c
jmp 0x43f8c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + 4]
mov edx, dword [eax + esi*4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446ab8
jmp 0x43f8b3
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c36c
test al, al
je 0x43f8c0
cmp byte [ebp - 8], 0
je 0x43e95b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446a58
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0043ce2c
test al, al
je 0x43f8c0
jmp 0x43f8b3
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c36c
test al, al
je 0x43f8c0
cmp byte [ebp - 8], 0
je 0x43e99c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446a58
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0043d67c
test al, al
je 0x43f8c0
jmp 0x43f8b3
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c36c
test al, al
je 0x43f8c0
cmp byte [ebp - 8], 0
je 0x43e9dd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446a58
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0043ccf8
test al, al
je 0x43f8c0
jmp 0x43f8b3
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c36c
test al, al
je 0x43f8c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43ea3f
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043543c
cmp byte [ebp - 8], 0
je 0x43f8c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446a58
jmp 0x43f8c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x5c]
movzx esi, byte [eax + edx]
mov eax, dword [ebp - 4]
inc dword [eax + 0x5c]
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43ea65.0
jmp dword [eax*4 + 0x43ea6c]
mov eax, dword [ebp - 0x10]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43eb14
mov eax, dword [ebp - 0x10]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43eb14
mov eax, dword [ebp - 0x10]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43eb14
mov eax, dword [ebp - 0x10]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43eb14
mov eax, dword [ebp - 0x10]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43eb14
mov eax, dword [ebp - 0x10]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43eb14
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.0043543c
cmp byte [ebp - 8], 0
je 0x43f8c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446a58
jmp 0x43f8c0
test esi, esi
je 0x43eb26
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x10]
xor al, 1
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
cmp byte [ebp - 8], 0
je 0x43f8b3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446a58
jmp 0x43f8b3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43eb60
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043543c
jmp 0x43f8c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x5c]
add eax, edx
mov esi, dword [eax]
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
cmp byte [eax + 0x10], 0
je 0x43f8b3
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x43f8b3
mov eax, 0x1c
call fcn.00402648
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov dword [ebx], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
mov dword [ebx + 8], eax
lea edx, [ebx + 0xc]
mov eax, dword [ebp - 4]
call fcn.0043cfa4
test al, al
jne 0x43ebe2
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043543c
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
jmp 0x43f8c0
lea edx, [ebx + 0x10]
mov eax, dword [ebp - 4]
call fcn.0043cfa4
test al, al
jne 0x43ec0c
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043543c
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
jmp 0x43f8c0
lea edx, [ebx + 0x14]
mov eax, dword [ebp - 4]
call fcn.0043cfa4
test al, al
jne 0x43ec36
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043543c
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
jmp 0x43f8c0
lea edx, [ebx + 0x18]
mov eax, dword [ebp - 4]
call fcn.0043cfa4
test al, al
jne 0x43ec60
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043543c
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
jmp 0x43f8c0
cmp dword [ebx + 0xc], 0xffffffff
je 0x43ec6f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0xc], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x43ec7e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x10], eax
cmp dword [ebx + 0x14], 0xffffffff
je 0x43ec8d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x14], eax
cmp dword [ebx + 0x18], 0xffffffff
je 0x43ec9c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x18], eax
cmp dword [ebx + 0xc], 0xffffffff
je 0x43ecad
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x43ece0
cmp dword [ebx + 0x10], 0xffffffff
je 0x43ecbe
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x43ece0
cmp dword [ebx + 0x14], 0xffffffff
je 0x43eccf
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x43ece0
cmp dword [ebx + 0x18], 0xffffffff
je 0x43ecfb
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43ecfb
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043543c
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
jmp 0x43f8c0
mov edx, ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.004316d4
jmp 0x43f8b3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43ed2a
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043543c
jmp 0x43f8c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x5c]
movzx esi, byte [eax + edx]
mov eax, dword [ebp - 4]
inc dword [eax + 0x5c]
sub esi, 1
jb 0x43ee11
je 0x43eeeb
dec esi
je 0x43ed5e
dec esi
je 0x43efd4
jmp 0x43f8b3
push 0
push 0
push 0
or ecx, 0xffffffff
or edx, 0xffffffff
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
jne 0x43ed8d
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043543c
jmp 0x43f8c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x28]
mov edx, dword [edx + 4]
mov ebx, dword [edx + eax*4 - 4]
test ebx, ebx
jne 0x43edb6
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043543c
jmp 0x43f8c0
mov dword [ebx + 0x10], 0xffffffff
cmp dword [ebx + 0x14], 0xffffffff
je 0x43edd8
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x43f8b3
mov esi, dword [ebx + 0x18]
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.0043171c
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43ee06
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x43f8b3
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x43f8b3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x28]
mov edx, dword [edx + 4]
mov ebx, dword [edx + eax*4 - 4]
test ebx, ebx
jne 0x43ee3a
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043543c
jmp 0x43f8c0
cmp dword [ebx + 0xc], 0xffffffff
je 0x43ee55
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0xc], 0xffffffff
jmp 0x43f8b3
cmp dword [ebx + 0x14], 0xffffffff
je 0x43ee70
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xffffffff
jmp 0x43f8b3
mov esi, dword [ebx + 0x18]
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.0043171c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43eecc
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x70]
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x70], edx
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x7c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x80]
push eax
push esi
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x78]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x74]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
jmp 0x43f8b3
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43eee0
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x43f8b3
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x43f8b3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x28]
mov edx, dword [edx + 4]
mov ebx, dword [edx + eax*4 - 4]
test ebx, ebx
jne 0x43ef14
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043543c
jmp 0x43f8c0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43ef3e
cmp dword [ebx + 0x10], 0xffffffff
je 0x43ef3e
cmp dword [ebx + 0x10], 0xfffffffe
je 0x43ef3e
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xfffffffe
jmp 0x43f8b3
cmp dword [ebx + 0x14], 0xffffffff
je 0x43ef59
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x43f8b3
mov esi, dword [ebx + 0x18]
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.0043171c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43efb5
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x70]
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x70], edx
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x7c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x80]
push eax
push esi
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x78]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x74]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
jmp 0x43f8b3
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43efc9
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x43f8b3
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x43f8b3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x28]
mov edx, dword [edx + 4]
mov ebx, dword [edx + eax*4 - 4]
test ebx, ebx
jne 0x43effd
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043543c
jmp 0x43f8c0
mov esi, dword [ebx + 0x18]
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.0043171c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43f059
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x70]
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x70], edx
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x7c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x80]
push eax
push esi
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x78]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x74]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
jmp 0x43f8b3
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43f06d
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x43f8b3
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x43f8b3
lea edx, [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043c36c
test al, al
je 0x43f8c0
cmp byte [ebp - 8], 0
je 0x43f0ad
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446a58
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0043543c
jmp 0x43f8c0
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0xc], 0xd
je 0x43f0c5
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0043543c
jmp 0x43f8c0
lea edx, [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043c36c
test al, al
je 0x43f8c0
mov eax, dword [ebp - 0x10]
add eax, 8
cmp dword [eax], 0
je 0x43f0f7
mov eax, dword [ebp - 0x10]
add eax, 4
mov edx, dword [eax]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
call fcn.00433768
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xc], 0xd
jne 0x43f19c
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
je 0x43f17f
mov eax, dword [ebp - 0x1c]
add eax, 4
mov eax, dword [eax]
call fcn.0043374c
mov edx, dword [ebp - 0x10]
mov dword [edx], eax
mov eax, dword [ebp - 0x1c]
add eax, 4
mov eax, dword [eax]
mov edx, dword [ebp - 0x10]
add edx, 4
mov dword [edx], eax
mov eax, dword [ebp - 0x10]
add eax, 8
mov dword [eax], 1
mov eax, dword [ebp - 0x10]
add eax, 4
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
mov ecx, 1
call fcn.00436084
test al, al
jne 0x43f1fa
cmp byte [ebp - 0x14], 0
je 0x43f170
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446a58
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.0043543c
jmp 0x43f8c0
mov eax, dword [ebp - 0x10]
xor edx, edx
mov dword [eax], edx
mov eax, dword [ebp - 0x10]
add eax, 4
xor edx, edx
mov dword [eax], edx
mov eax, dword [ebp - 0x10]
add eax, 8
xor edx, edx
mov dword [eax], edx
jmp 0x43f1fa
mov eax, dword [ebp - 0x18]
call fcn.0043374c
mov edx, dword [ebp - 0x10]
mov dword [edx], eax
mov eax, dword [ebp - 0x10]
add eax, 4
mov edx, dword [ebp - 0x18]
mov dword [eax], edx
mov eax, dword [ebp - 0x10]
add eax, 8
mov dword [eax], 1
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
mov ecx, 1
mov edx, dword [ebp - 0x1c]
call fcn.00436084
test al, al
jne 0x43f1fa
cmp byte [ebp - 0x14], 0
je 0x43f1eb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446a58
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.0043543c
jmp 0x43f8c0
cmp byte [ebp - 0x14], 0
je 0x43f8b3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446a58
jmp 0x43f8b3
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c36c
test al, al
je 0x43f8c0
cmp byte [ebp - 8], 0
je 0x43f249
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446a58
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0043543c
jmp 0x43f8c0
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43f255.0
jmp dword [eax*4 + 0x43f25c]
mov eax, dword [ebp - 0x10]
dec byte [eax]
jmp 0x43f8b3
mov eax, dword [ebp - 0x10]
dec byte [eax]
jmp 0x43f8b3
mov eax, dword [ebp - 0x10]
dec word [eax]
jmp 0x43f8b3
mov eax, dword [ebp - 0x10]
dec word [eax]
jmp 0x43f8b3
mov eax, dword [ebp - 0x10]
dec dword [eax]
jmp 0x43f8b3
mov eax, dword [ebp - 0x10]
dec dword [eax]
jmp 0x43f8b3
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.0043543c
jmp 0x43f8c0
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c36c
test al, al
je 0x43f8c0
cmp byte [ebp - 8], 0
je 0x43f2fa
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446a58
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0043543c
jmp 0x43f8c0
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43f306.0
jmp dword [eax*4 + 0x43f30d]
mov eax, dword [ebp - 0x10]
inc byte [eax]
jmp 0x43f8b3
mov eax, dword [ebp - 0x10]
inc byte [eax]
jmp 0x43f8b3
mov eax, dword [ebp - 0x10]
inc word [eax]
jmp 0x43f8b3
mov eax, dword [ebp - 0x10]
inc word [eax]
jmp 0x43f8b3
mov eax, dword [ebp - 0x10]
inc dword [eax]
jmp 0x43f8b3
mov eax, dword [ebp - 0x10]
inc dword [eax]
jmp 0x43f8b3
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.0043543c
jmp 0x43f8c0
lea edx, [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043c36c
test al, al
je 0x43f8c0
cmp byte [ebp - 8], 0
je 0x43f3ab
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446a58
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0043543c
jmp 0x43f8c0
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0xc], 0xd
je 0x43f3c3
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0043543c
jmp 0x43f8c0
lea edx, [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043c36c
test al, al
je 0x43f8c0
cmp byte [ebp - 0x14], 0
je 0x43f3f8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446a58
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0043543c
jmp 0x43f8c0
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xc], 0xd
jne 0x43f420
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x10]
mov dword [edx], eax
mov eax, dword [ebp - 0x1c]
add eax, 4
mov eax, dword [eax]
mov edx, dword [ebp - 0x10]
add edx, 4
mov dword [edx], eax
jmp 0x43f8b3
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x1c]
mov dword [eax], edx
mov eax, dword [ebp - 0x10]
add eax, 4
mov edx, dword [ebp - 0x18]
mov dword [eax], edx
jmp 0x43f8b3
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c36c
test al, al
je 0x43f8c0
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0xc], 0x15
je 0x43f476
cmp byte [ebp - 8], 0
je 0x43f467
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446a58
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.0043543c
jmp 0x43f8c0
mov eax, dword [ebp - 0x10]
mov esi, dword [eax]
cmp byte [ebp - 8], 0
je 0x43f48c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446a58
test esi, esi
jne 0x43f4c4
mov eax, dword [ebp - 0x10]
add eax, 8
cmp dword [eax], 0
je 0x43f4c4
mov eax, dword [ebp - 0x10]
add eax, 8
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x10]
add eax, 4
mov ecx, dword [eax]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.00445498
test al, al
je 0x43f8c0
jmp 0x43f8b3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp esi, dword [eax + 0xc]
jae 0x43f4d7
mov eax, dword [ebp - 4]
cmp esi, dword [eax + 0x48]
jne 0x43f4e6
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.0043543c
jmp 0x43f8c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 4]
mov ebx, dword [eax + esi*4]
mov eax, ebx
call fcn.00402a9c
cmp eax, 0x431a0c
jne 0x43f52c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x3c]
mov edx, ebx
mov eax, dword [ebp - 4]
call dword [ebx + 0x14]
test al, al
jne 0x43f8b3
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.0043543c
jmp 0x43f8b3
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446ab8
mov esi, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov dword [esi + 4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov dword [esi + 8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
dec eax
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x50], ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x54], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x58], eax
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x5c], edx
jmp 0x43f8b3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43f5b8
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043543c
jmp 0x43f8c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x5c]
xor ebx, ebx
mov bl, byte [eax + edx]
mov eax, dword [ebp - 4]
inc dword [eax + 0x5c]
lea edx, [ebp - 0x28]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c36c
test al, al
je 0x43f8c0
cmp byte [ebp - 0x20], 0
je 0x43f687
mov eax, dword [ebp - 0x24]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43f606
sub al, 2
je 0x43f606
sub al, 6
je 0x43f606
sub al, 4
jne 0x43f611
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
call fcn.0043354c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 4]
mov esi, dword [ecx + edx*4 - 4]
sub esi, dword [eax + 0x14]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jle 0x43f64a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431674
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov dword [eax + 0x1c], esi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x43f678
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446864
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0043543c
jmp 0x43f8c0
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c36c
test al, al
je 0x43f8c0
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c36c
test al, al
jne 0x43f760
cmp byte [ebp - 0x14], 0
je 0x43f8c0
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43f6d3
sub al, 2
je 0x43f6d3
sub al, 6
je 0x43f6d3
sub al, 4
jne 0x43f6de
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.0043354c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov esi, dword [edx + eax*4 - 4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
sub esi, dword [eax + 0x14]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jle 0x43f729
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431674
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov dword [eax + 0x1c], esi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x43f8c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446864
jmp 0x43f8c0
mov eax, dword [ebp - 0x28]
push eax
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x24]
push eax
push ebx
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
call int.004374f8
cmp byte [ebp - 8], 0
je 0x43f813
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43f7a1
sub al, 2
je 0x43f7a1
sub al, 6
je 0x43f7a1
sub al, 4
jne 0x43f7ac
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.0043354c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 4]
mov esi, dword [ecx + edx*4 - 4]
sub esi, dword [eax + 0x14]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jle 0x43f7e5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431674
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov dword [eax + 0x1c], esi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x43f813
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446864
cmp byte [ebp - 0x14], 0
je 0x43f8b3
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43f835
sub al, 2
je 0x43f835
sub al, 6
je 0x43f835
sub al, 4
jne 0x43f840
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.0043354c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 4]
mov esi, dword [ecx + edx*4 - 4]
sub esi, dword [eax + 0x14]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jle 0x43f879
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431674
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov dword [eax + 0x1c], esi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x43f8b3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446864
jmp 0x43f8b3
mov dl, 5
mov eax, dword [ebp - 4]
call fcn.0043543c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x43d8c3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x43f8d9
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x43d8b7
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x43f91d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x43f902
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446a58
dec esi
cmp esi, 0xffffffff
jne 0x43f8f1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, dword [eax]
call dword [edx]
mov eax, dword [ebp - 4]
cmp byte [eax + 0x11], 0
je 0x43f91d
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x14]
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
sete bl
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret