Function at 0x43dc88
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 0x43dcdb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x43dcd1
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.00402668
dec esi
cmp esi, 0xffffffff
jne 0x43dcb3
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 0x43dd0b
sub al, 2
je 0x43dd94
jmp 0x43dd9d
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
jne 0x43dd1b
xor ebx, ebx
jmp 0x43fe24
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.00402be4
cmp eax, 0x4321f4
jne 0x43dd62
mov dl, 7
mov eax, dword [ebp - 4]
call fcn.00435c80
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 1
jmp 0x43fe24
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 0x43dda4
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x43dda4
xor ebx, ebx
jmp 0x43fe24
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.0043dc68
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x43fdb0
cmp dword [ebp - 0x34], 0
je 0x43ddd3
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 0x43ddf0
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435c80
jmp 0x43fdbd
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 0x43de59
je 0x43f873
cmp eax, 0xd
ja case.default.0x43de70
jmp dword [eax*4 + 0x43de21]
cmp eax, 0x15
jg 0x43de8f
je 0x43ee8e
add eax, 0xfffffff1
cmp eax, 5
ja case.default.0x43de70
jmp dword [eax*4 + 0x43de77]
cmp eax, 0x19
jg 0x43deb6
je 0x43e8d3
sub eax, 0x16
je 0x43f575
dec eax
je 0x43f7c2
dec eax
je 0x43f711
jmp case.default.0x43de70
sub eax, 0x1a
je 0x43e920
sub eax, 0xe5
je 0x43fdb0
jmp case.default.0x43de70
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c870
test al, al
je 0x43fdbd
cmp byte [ebp - 8], 0
je 0x43df87
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43df06
sub al, 2
je 0x43df06
sub al, 6
je 0x43df06
sub al, 4
jne 0x43df11
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.00433d90
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 0x43df4a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431020
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 0x43df78
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446cb8
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435c80
jmp 0x43fdbd
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c870
test al, al
je 0x43fdbd
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.00436eec
test al, al
jne 0x43e069
cmp byte [ebp - 0x14], 0
je 0x43fdbd
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43dfdc
sub al, 2
je 0x43dfdc
sub al, 6
je 0x43dfdc
sub al, 4
jne 0x43dfe7
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00433d90
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 0x43e032
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431020
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 0x43fdbd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446cb8
jmp 0x43fdbd
cmp byte [ebp - 0x14], 0
je 0x43fdb0
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43e08b
sub al, 2
je 0x43e08b
sub al, 6
je 0x43e08b
sub al, 4
jne 0x43e096
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00433d90
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 0x43e0cf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431020
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 0x43fdb0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446cb8
jmp 0x43fdb0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43e123
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435c80
jmp 0x43fdbd
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.0043c870
test al, al
je 0x43fdbd
cmp byte [ebp - 8], 0
je 0x43e1f2
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43e171
sub al, 2
je 0x43e171
sub al, 6
je 0x43e171
sub al, 4
jne 0x43e17c
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.00433d90
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 0x43e1b5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431020
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 0x43e1e3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446cb8
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435c80
jmp 0x43fdbd
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c870
test al, al
je 0x43fdbd
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.00439618
test al, al
jne 0x43e2d5
cmp byte [ebp - 0x14], 0
je 0x43fdbd
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43e248
sub al, 2
je 0x43e248
sub al, 6
je 0x43e248
sub al, 4
jne 0x43e253
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00433d90
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 0x43e29e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431020
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 0x43fdbd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446cb8
jmp 0x43fdbd
cmp byte [ebp - 0x14], 0
je 0x43fdb0
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43e2f7
sub al, 2
je 0x43e2f7
sub al, 6
je 0x43e2f7
sub al, 4
jne 0x43e302
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00433d90
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 0x43e33b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431020
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 0x43fdb0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446cb8
jmp 0x43fdb0
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c870
test al, al
je 0x43fdbd
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446eec
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.00436eec
test al, al
jne 0x43e475
cmp byte [ebp - 0x14], 0
je 0x43fdbd
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43e3e8
sub al, 2
je 0x43e3e8
sub al, 6
je 0x43e3e8
sub al, 4
jne 0x43e3f3
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00433d90
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 0x43e43e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431020
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 0x43fdbd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446cb8
jmp 0x43fdbd
cmp byte [ebp - 0x14], 0
je 0x43fdb0
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43e497
sub al, 2
je 0x43e497
sub al, 6
je 0x43e497
sub al, 4
jne 0x43e4a2
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00433d90
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 0x43e4db
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431020
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 0x43fdb0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446cb8
jmp 0x43fdb0
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c870
test al, al
je 0x43fdbd
cmp byte [ebp - 0x14], 0
je 0x43e547
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446e8c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435c80
jmp 0x43fdbd
mov dl, 0xd
mov eax, dword [ebp - 4]
call fcn.0043d89c
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446eec
mov esi, eax
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xc], 0xd
jne 0x43e586
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 0x43fdb0
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 0x43fdb0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
cmp dword [eax + 0xc], 0
jne 0x43e5b7
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.00435c80
jmp 0x43fdbd
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 0x43e5d3
mov eax, dword [esi]
cmp byte [eax + 0xc], 0
jne 0x43e5e2
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.00435c80
jmp 0x43fdbd
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 0x43e60e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00431020
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, esi
sub edx, dword [eax + 0x14]
mov dword [eax + 0x1c], edx
mov eax, dword [esi]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43e633
sub al, 2
je 0x43e633
sub al, 6
je 0x43e633
sub al, 4
jne 0x43e63f
mov edx, dword [esi]
mov eax, esi
add eax, 4
call fcn.00433d90
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 0x43fdb0
call fcn.00446cb8
jmp 0x43fdb0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e681
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435c80
jmp 0x43fdbd
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 0x43e6b2
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.00435c80
jmp 0x43fdbd
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.00402be4
cmp eax, 0x4321f4
jne 0x43e853
xor eax, eax
push ebp
push 0x43e724
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 0x43e717
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x43e70a
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.00435c80
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x43fdbd
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x43fdb0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446eec
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 0x43fdb0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446e8c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e8fe
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435c80
jmp 0x43fdbd
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 0x43fdb0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446e8c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446e8c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e956
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435c80
jmp 0x43fdbd
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 0x43fdb0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e998
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435c80
jmp 0x43fdbd
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 0x43fdb0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e9da
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435c80
jmp 0x43fdbd
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.0043c870
test al, al
je 0x43fdbd
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43ea14.0
jmp dword [eax*4 + 0x43ea1b]
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
setne bl
jmp 0x43ea9f
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
setne bl
jmp 0x43ea9f
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
setne bl
jmp 0x43ea9f
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
setne bl
jmp 0x43ea9f
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
setne bl
jmp 0x43ea9f
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
setne bl
jmp 0x43ea9f
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00435c80
cmp byte [ebp - 0x14], 0
je 0x43fdbd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446e8c
jmp 0x43fdbd
cmp byte [ebp - 0x14], 0
je 0x43eab0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446e8c
test bl, bl
je 0x43fdb0
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x43fdb0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43eae3
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435c80
jmp 0x43fdbd
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.0043c870
test al, al
je 0x43fdbd
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43eb1d.0
jmp dword [eax*4 + 0x43eb24]
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
sete bl
jmp 0x43eba8
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
sete bl
jmp 0x43eba8
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
sete bl
jmp 0x43eba8
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
sete bl
jmp 0x43eba8
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
sete bl
jmp 0x43eba8
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
sete bl
jmp 0x43eba8
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00435c80
cmp byte [ebp - 0x14], 0
je 0x43fdbd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446e8c
jmp 0x43fdbd
cmp byte [ebp - 0x14], 0
je 0x43ebb9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446e8c
test bl, bl
je 0x43fdb0
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x43fdb0
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 0x43ed05
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]
cmp dword [ebx + 0x10], 0xfffffffe
jne 0x43ece2
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]
mov edx, 0x1c
mov eax, ebx
call fcn.00402668
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.004310c8
jmp 0x43ed05
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebx + 8]
jbe 0x43ec66
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 0x43ec66
dec edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446e8c
inc edi
jne 0x43ec58
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
cmp dword [ebx + 0xc], 0xffffffff
je 0x43ec8c
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0xc], 0xffffffff
mov esi, 1
jmp 0x43ed05
cmp dword [ebx + 0x14], 0xffffffff
je 0x43eca9
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
mov esi, 1
jmp 0x43ed05
mov edx, 0x1c
mov eax, ebx
call fcn.00402668
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.004310c8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x43ed05
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 0x43ec38
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
jbe 0x43ed05
cmp eax, 0xffffffff
jne 0x43ec38
test esi, esi
jne 0x43fdb0
mov dword [ebp - 0x2c], 0xffffffff
mov eax, dword [ebp - 4]
cmp dword [eax + 0x60], 0xffffffff
jne 0x43ed2b
mov al, byte [ebp - 0x2d]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x43fdbd
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 0x43ed4f
dec edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446e8c
inc edi
jne 0x43ed41
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 0x43ed6e
mov al, byte [ebp - 0x2d]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x43fdbd
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.00446e8c
mov eax, dword [ebp - 4]
cmp dword [eax + 0x50], 0
jne 0x43edbd
mov al, byte [ebp - 0x2d]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x43fdbd
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 0x43fdb0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43ee00
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435c80
jmp 0x43fdbd
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 0x43ee31
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00435c80
jmp 0x43fdbd
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.00446eec
jmp 0x43fdb0
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c870
test al, al
je 0x43fdbd
cmp byte [ebp - 8], 0
je 0x43ee73
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446e8c
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0043d330
test al, al
je 0x43fdbd
jmp 0x43fdb0
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c870
test al, al
je 0x43fdbd
cmp byte [ebp - 8], 0
je 0x43eeb4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446e8c
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0043db80
test al, al
je 0x43fdbd
jmp 0x43fdb0
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c870
test al, al
je 0x43fdbd
cmp byte [ebp - 8], 0
je 0x43eef5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446e8c
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0043d1fc
test al, al
je 0x43fdbd
jmp 0x43fdb0
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c870
test al, al
je 0x43fdbd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43ef57
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435c80
cmp byte [ebp - 8], 0
je 0x43fdbd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446e8c
jmp 0x43fdbd
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.0x43ef7d.0
jmp dword [eax*4 + 0x43ef84]
mov eax, dword [ebp - 0x10]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43f02c
mov eax, dword [ebp - 0x10]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43f02c
mov eax, dword [ebp - 0x10]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43f02c
mov eax, dword [ebp - 0x10]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43f02c
mov eax, dword [ebp - 0x10]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43f02c
mov eax, dword [ebp - 0x10]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43f02c
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00435c80
cmp byte [ebp - 8], 0
je 0x43fdbd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446e8c
jmp 0x43fdbd
test esi, esi
je 0x43f03e
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 0x43fdb0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446e8c
jmp 0x43fdb0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43f078
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435c80
jmp 0x43fdbd
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 0x43fdb0
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x43fdb0
mov eax, 0x1c
call fcn.00402650
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.0043d4a8
test al, al
jne 0x43f0fa
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435c80
mov edx, 0x1c
mov eax, ebx
call fcn.00402668
jmp 0x43fdbd
lea edx, [ebx + 0x10]
mov eax, dword [ebp - 4]
call fcn.0043d4a8
test al, al
jne 0x43f124
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435c80
mov edx, 0x1c
mov eax, ebx
call fcn.00402668
jmp 0x43fdbd
lea edx, [ebx + 0x14]
mov eax, dword [ebp - 4]
call fcn.0043d4a8
test al, al
jne 0x43f14e
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435c80
mov edx, 0x1c
mov eax, ebx
call fcn.00402668
jmp 0x43fdbd
lea edx, [ebx + 0x18]
mov eax, dword [ebp - 4]
call fcn.0043d4a8
test al, al
jne 0x43f178
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435c80
mov edx, 0x1c
mov eax, ebx
call fcn.00402668
jmp 0x43fdbd
cmp dword [ebx + 0xc], 0xffffffff
je 0x43f187
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0xc], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x43f196
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x10], eax
cmp dword [ebx + 0x14], 0xffffffff
je 0x43f1a5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x14], eax
cmp dword [ebx + 0x18], 0xffffffff
je 0x43f1b4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x18], eax
cmp dword [ebx + 0xc], 0xffffffff
je 0x43f1c5
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x43f1f8
cmp dword [ebx + 0x10], 0xffffffff
je 0x43f1d6
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x43f1f8
cmp dword [ebx + 0x14], 0xffffffff
je 0x43f1e7
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x43f1f8
cmp dword [ebx + 0x18], 0xffffffff
je 0x43f213
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43f213
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435c80
mov edx, 0x1c
mov eax, ebx
call fcn.00402668
jmp 0x43fdbd
mov edx, ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.00431080
jmp 0x43fdb0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43f242
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435c80
jmp 0x43fdbd
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 0x43f30e
je 0x43f3e8
dec esi
je 0x43f276
dec esi
je 0x43f4d1
jmp 0x43fdb0
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]
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 0x43f2b3
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435c80
jmp 0x43fdbd
mov dword [ebx + 0x10], 0xffffffff
cmp dword [ebx + 0x14], 0xffffffff
je 0x43f2d5
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x43fdb0
mov esi, dword [ebx + 0x18]
mov edx, 0x1c
mov eax, ebx
call fcn.00402668
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.004310c8
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43f303
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x43fdb0
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x43fdb0
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 0x43f337
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435c80
jmp 0x43fdbd
cmp dword [ebx + 0xc], 0xffffffff
je 0x43f352
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0xc], 0xffffffff
jmp 0x43fdb0
cmp dword [ebx + 0x14], 0xffffffff
je 0x43f36d
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xffffffff
jmp 0x43fdb0
mov esi, dword [ebx + 0x18]
mov edx, 0x1c
mov eax, ebx
call fcn.00402668
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.004310c8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43f3c9
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 0x43fdb0
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43f3dd
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x43fdb0
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x43fdb0
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 0x43f411
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435c80
jmp 0x43fdbd
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43f43b
cmp dword [ebx + 0x10], 0xffffffff
je 0x43f43b
cmp dword [ebx + 0x10], 0xfffffffe
je 0x43f43b
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xfffffffe
jmp 0x43fdb0
cmp dword [ebx + 0x14], 0xffffffff
je 0x43f456
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x43fdb0
mov esi, dword [ebx + 0x18]
mov edx, 0x1c
mov eax, ebx
call fcn.00402668
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.004310c8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43f4b2
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 0x43fdb0
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43f4c6
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x43fdb0
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x43fdb0
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 0x43f4fa
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435c80
jmp 0x43fdbd
mov esi, dword [ebx + 0x18]
mov edx, 0x1c
mov eax, ebx
call fcn.00402668
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.004310c8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43f556
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 0x43fdb0
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43f56a
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x43fdb0
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x43fdb0
lea edx, [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043c870
test al, al
je 0x43fdbd
cmp byte [ebp - 8], 0
je 0x43f5aa
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446e8c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435c80
jmp 0x43fdbd
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0xc], 0xd
je 0x43f5c2
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435c80
jmp 0x43fdbd
lea edx, [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043c870
test al, al
je 0x43fdbd
mov eax, dword [ebp - 0x10]
add eax, 8
cmp dword [eax], 0
je 0x43f5f4
mov eax, dword [ebp - 0x10]
add eax, 4
mov edx, dword [eax]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
call fcn.00433fac
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xc], 0xd
jne 0x43f699
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
je 0x43f67c
mov eax, dword [ebp - 0x1c]
add eax, 4
mov eax, dword [eax]
call fcn.00433f90
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.00436860
test al, al
jne 0x43f6f7
cmp byte [ebp - 0x14], 0
je 0x43f66d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446e8c
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00435c80
jmp 0x43fdbd
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 0x43f6f7
mov eax, dword [ebp - 0x18]
call fcn.00433f90
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.00436860
test al, al
jne 0x43f6f7
cmp byte [ebp - 0x14], 0
je 0x43f6e8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446e8c
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00435c80
jmp 0x43fdbd
cmp byte [ebp - 0x14], 0
je 0x43fdb0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446e8c
jmp 0x43fdb0
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c870
test al, al
je 0x43fdbd
cmp byte [ebp - 8], 0
je 0x43f746
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446e8c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435c80
jmp 0x43fdbd
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43f752.0
jmp dword [eax*4 + 0x43f759]
mov eax, dword [ebp - 0x10]
dec byte [eax]
jmp 0x43fdb0
mov eax, dword [ebp - 0x10]
dec byte [eax]
jmp 0x43fdb0
mov eax, dword [ebp - 0x10]
dec word [eax]
jmp 0x43fdb0
mov eax, dword [ebp - 0x10]
dec word [eax]
jmp 0x43fdb0
mov eax, dword [ebp - 0x10]
dec dword [eax]
jmp 0x43fdb0
mov eax, dword [ebp - 0x10]
dec dword [eax]
jmp 0x43fdb0
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00435c80
jmp 0x43fdbd
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c870
test al, al
je 0x43fdbd
cmp byte [ebp - 8], 0
je 0x43f7f7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446e8c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435c80
jmp 0x43fdbd
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43f803.0
jmp dword [eax*4 + 0x43f80a]
mov eax, dword [ebp - 0x10]
inc byte [eax]
jmp 0x43fdb0
mov eax, dword [ebp - 0x10]
inc byte [eax]
jmp 0x43fdb0
mov eax, dword [ebp - 0x10]
inc word [eax]
jmp 0x43fdb0
mov eax, dword [ebp - 0x10]
inc word [eax]
jmp 0x43fdb0
mov eax, dword [ebp - 0x10]
inc dword [eax]
jmp 0x43fdb0
mov eax, dword [ebp - 0x10]
inc dword [eax]
jmp 0x43fdb0
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00435c80
jmp 0x43fdbd
lea edx, [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043c870
test al, al
je 0x43fdbd
cmp byte [ebp - 8], 0
je 0x43f8a8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446e8c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435c80
jmp 0x43fdbd
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0xc], 0xd
je 0x43f8c0
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435c80
jmp 0x43fdbd
lea edx, [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043c870
test al, al
je 0x43fdbd
cmp byte [ebp - 0x14], 0
je 0x43f8f5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446e8c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435c80
jmp 0x43fdbd
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xc], 0xd
jne 0x43f91d
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 0x43fdb0
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 0x43fdb0
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c870
test al, al
je 0x43fdbd
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0xc], 0x15
je 0x43f973
cmp byte [ebp - 8], 0
je 0x43f964
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446e8c
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00435c80
jmp 0x43fdbd
mov eax, dword [ebp - 0x10]
mov esi, dword [eax]
cmp byte [ebp - 8], 0
je 0x43f989
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446e8c
test esi, esi
jne 0x43f9c1
mov eax, dword [ebp - 0x10]
add eax, 8
cmp dword [eax], 0
je 0x43f9c1
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.004458ec
test al, al
je 0x43fdbd
jmp 0x43fdb0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp esi, dword [eax + 0xc]
jae 0x43f9d4
mov eax, dword [ebp - 4]
cmp esi, dword [eax + 0x48]
jne 0x43f9e3
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.00435c80
jmp 0x43fdbd
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.00402be4
cmp eax, 0x4321f4
jne 0x43fa29
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 0x43fdb0
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.00435c80
jmp 0x43fdb0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446eec
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 0x43fdb0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43fab5
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435c80
jmp 0x43fdbd
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.0043c870
test al, al
je 0x43fdbd
cmp byte [ebp - 0x20], 0
je 0x43fb84
mov eax, dword [ebp - 0x24]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43fb03
sub al, 2
je 0x43fb03
sub al, 6
je 0x43fb03
sub al, 4
jne 0x43fb0e
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
call fcn.00433d90
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 0x43fb47
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431020
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 0x43fb75
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446cb8
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435c80
jmp 0x43fdbd
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c870
test al, al
je 0x43fdbd
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c870
test al, al
jne 0x43fc5d
cmp byte [ebp - 0x14], 0
je 0x43fdbd
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43fbd0
sub al, 2
je 0x43fbd0
sub al, 6
je 0x43fbd0
sub al, 4
jne 0x43fbdb
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00433d90
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 0x43fc26
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431020
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 0x43fdbd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446cb8
jmp 0x43fdbd
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 fcn.00437b8c
cmp byte [ebp - 8], 0
je 0x43fd10
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43fc9e
sub al, 2
je 0x43fc9e
sub al, 6
je 0x43fc9e
sub al, 4
jne 0x43fca9
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.00433d90
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 0x43fce2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431020
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 0x43fd10
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446cb8
cmp byte [ebp - 0x14], 0
je 0x43fdb0
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43fd32
sub al, 2
je 0x43fd32
sub al, 6
je 0x43fd32
sub al, 4
jne 0x43fd3d
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00433d90
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 0x43fd76
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431020
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 0x43fdb0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446cb8
jmp 0x43fdb0
mov dl, 5
mov eax, dword [ebp - 4]
call fcn.00435c80
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x43ddc7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x43fdd6
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x43ddbb
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x43fe1a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x43fdff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446e8c
dec esi
cmp esi, 0xffffffff
jne 0x43fdee
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 0x43fe1a
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