Function at 0x43d5a4
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 0x43d5f7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x43d5ed
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 0x43d5cf
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 0x43d627
sub al, 2
je 0x43d6b0
jmp 0x43d6b9
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
jne 0x43d637
xor ebx, ebx
jmp 0x43f747
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, 0x43182c
jne 0x43d67e
mov dl, 7
mov eax, dword [ebp - 4]
call fcn.0043525c
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 1
jmp 0x43f747
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 0x43d6c0
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x43d6c0
xor ebx, ebx
jmp 0x43f747
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.0043d584
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x43f6d3
cmp dword [ebp - 0x34], 0
je 0x43d6ef
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 0x43d70c
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043525c
jmp 0x43f6e0
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 0x43d775
je 0x43f196
cmp eax, 0xd
ja case.default.0x43d78c
jmp dword [eax*4 + 0x43d73d]
cmp eax, 0x15
jg 0x43d7ab
je 0x43e796
add eax, 0xfffffff1
cmp eax, 5
ja case.default.0x43d78c
jmp dword [eax*4 + 0x43d793]
cmp eax, 0x19
jg 0x43d7d2
je 0x43e1f5
sub eax, 0x16
je 0x43ee98
dec eax
je 0x43f0e5
dec eax
je 0x43f034
jmp case.default.0x43d78c
sub eax, 0x1a
je 0x43e242
sub eax, 0xe5
je 0x43f6d3
jmp case.default.0x43d78c
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c18c
test al, al
je 0x43f6e0
cmp byte [ebp - 8], 0
je 0x43d8a3
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43d822
sub al, 2
je 0x43d822
sub al, 6
je 0x43d822
sub al, 4
jne 0x43d82d
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.0043336c
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 0x43d866
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431494
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 0x43d894
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446684
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0043525c
jmp 0x43f6e0
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c18c
test al, al
je 0x43f6e0
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.004366a0
test al, al
jne 0x43d985
cmp byte [ebp - 0x14], 0
je 0x43f6e0
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43d8f8
sub al, 2
je 0x43d8f8
sub al, 6
je 0x43d8f8
sub al, 4
jne 0x43d903
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.0043336c
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 0x43d94e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431494
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 0x43f6e0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446684
jmp 0x43f6e0
cmp byte [ebp - 0x14], 0
je 0x43f6d3
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43d9a7
sub al, 2
je 0x43d9a7
sub al, 6
je 0x43d9a7
sub al, 4
jne 0x43d9b2
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.0043336c
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 0x43d9eb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431494
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 0x43f6d3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446684
jmp 0x43f6d3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43da3f
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043525c
jmp 0x43f6e0
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.0043c18c
test al, al
je 0x43f6e0
cmp byte [ebp - 8], 0
je 0x43db0e
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43da8d
sub al, 2
je 0x43da8d
sub al, 6
je 0x43da8d
sub al, 4
jne 0x43da98
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.0043336c
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 0x43dad1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431494
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 0x43daff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446684
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0043525c
jmp 0x43f6e0
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c18c
test al, al
je 0x43f6e0
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.00438f34
test al, al
jne 0x43dbf1
cmp byte [ebp - 0x14], 0
je 0x43f6e0
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43db64
sub al, 2
je 0x43db64
sub al, 6
je 0x43db64
sub al, 4
jne 0x43db6f
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.0043336c
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 0x43dbba
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431494
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 0x43f6e0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446684
jmp 0x43f6e0
cmp byte [ebp - 0x14], 0
je 0x43f6d3
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43dc13
sub al, 2
je 0x43dc13
sub al, 6
je 0x43dc13
sub al, 4
jne 0x43dc1e
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.0043336c
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 0x43dc57
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431494
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 0x43f6d3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446684
jmp 0x43f6d3
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c18c
test al, al
je 0x43f6e0
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004468d8
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.004366a0
test al, al
jne 0x43dd91
cmp byte [ebp - 0x14], 0
je 0x43f6e0
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43dd04
sub al, 2
je 0x43dd04
sub al, 6
je 0x43dd04
sub al, 4
jne 0x43dd0f
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.0043336c
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 0x43dd5a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431494
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 0x43f6e0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446684
jmp 0x43f6e0
cmp byte [ebp - 0x14], 0
je 0x43f6d3
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43ddb3
sub al, 2
je 0x43ddb3
sub al, 6
je 0x43ddb3
sub al, 4
jne 0x43ddbe
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.0043336c
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 0x43ddf7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431494
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 0x43f6d3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446684
jmp 0x43f6d3
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c18c
test al, al
je 0x43f6e0
cmp byte [ebp - 0x14], 0
je 0x43de63
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446878
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0043525c
jmp 0x43f6e0
mov dl, 0xd
mov eax, dword [ebp - 4]
call fcn.0043d1b8
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004468d8
mov esi, eax
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xc], 0xd
jne 0x43dea2
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 0x43f6d3
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 0x43f6d3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
cmp dword [eax + 0xc], 0
jne 0x43ded3
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.0043525c
jmp 0x43f6e0
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 0x43deef
mov eax, dword [esi]
cmp byte [eax + 0xc], 0
jne 0x43defe
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.0043525c
jmp 0x43f6e0
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 0x43df2a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00431494
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 0x43df55
sub al, 2
je 0x43df55
sub al, 6
je 0x43df55
sub al, 4
jne 0x43df61
mov edx, dword [esi]
mov eax, esi
add eax, 4
call fcn.0043336c
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 0x43f6d3
call fcn.00446684
jmp 0x43f6d3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43dfa3
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043525c
jmp 0x43f6e0
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 0x43dfd4
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.0043525c
jmp 0x43f6e0
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, 0x43182c
jne 0x43e175
xor eax, eax
push ebp
push 0x43e046
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 0x43e039
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x43e02c
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.0043525c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x43f6e0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x43f6d3
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004468d8
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 0x43f6d3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446878
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e220
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043525c
jmp 0x43f6e0
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 0x43f6d3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446878
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446878
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e278
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043525c
jmp 0x43f6e0
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 0x43f6d3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e2ba
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043525c
jmp 0x43f6e0
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 0x43f6d3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e2fc
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043525c
jmp 0x43f6e0
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.0043c18c
test al, al
je 0x43f6e0
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43e336.0
jmp dword [eax*4 + 0x43e33d]
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
setne bl
jmp 0x43e3c1
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
setne bl
jmp 0x43e3c1
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
setne bl
jmp 0x43e3c1
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
setne bl
jmp 0x43e3c1
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
setne bl
jmp 0x43e3c1
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
setne bl
jmp 0x43e3c1
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.0043525c
cmp byte [ebp - 0x14], 0
je 0x43f6e0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446878
jmp 0x43f6e0
cmp byte [ebp - 0x14], 0
je 0x43e3d2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446878
test bl, bl
je 0x43f6d3
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x43f6d3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e405
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043525c
jmp 0x43f6e0
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.0043c18c
test al, al
je 0x43f6e0
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43e43f.0
jmp dword [eax*4 + 0x43e446]
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
sete bl
jmp 0x43e4ca
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
sete bl
jmp 0x43e4ca
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
sete bl
jmp 0x43e4ca
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
sete bl
jmp 0x43e4ca
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
sete bl
jmp 0x43e4ca
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
sete bl
jmp 0x43e4ca
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.0043525c
cmp byte [ebp - 0x14], 0
je 0x43f6e0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446878
jmp 0x43f6e0
cmp byte [ebp - 0x14], 0
je 0x43e4db
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446878
test bl, bl
je 0x43f6d3
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x43f6d3
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 0x43e60d
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 0x43e5ea
cmp dword [ebx + 0x10], 0xfffffffe
jne 0x43e541
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 0x43e56f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebx + 8]
jbe 0x43e56f
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 0x43e56f
dec edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446878
inc edi
jne 0x43e561
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
mov eax, dword [ebx + 0xc]
cmp eax, 0xffffffff
je 0x43e594
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0xc], 0xffffffff
mov esi, 1
jmp 0x43e60d
cmp dword [ebx + 0x14], 0xffffffff
je 0x43e5b1
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
mov esi, 1
jmp 0x43e60d
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.0043153c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x43e60d
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 0x43e525
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
jbe 0x43e60d
cmp eax, 0xffffffff
jne 0x43e525
test esi, esi
jne 0x43f6d3
mov dword [ebp - 0x2c], 0xffffffff
mov eax, dword [ebp - 4]
cmp dword [eax + 0x60], 0xffffffff
jne 0x43e633
mov al, byte [ebp - 0x2d]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x43f6e0
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 0x43e657
dec edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446878
inc edi
jne 0x43e649
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 0x43e676
mov al, byte [ebp - 0x2d]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x43f6e0
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.00446878
mov eax, dword [ebp - 4]
cmp dword [eax + 0x50], 0
jne 0x43e6c5
mov al, byte [ebp - 0x2d]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x43f6e0
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 0x43f6d3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e708
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043525c
jmp 0x43f6e0
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 0x43e739
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.0043525c
jmp 0x43f6e0
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.004468d8
jmp 0x43f6d3
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c18c
test al, al
je 0x43f6e0
cmp byte [ebp - 8], 0
je 0x43e77b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446878
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0043cc4c
test al, al
je 0x43f6e0
jmp 0x43f6d3
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c18c
test al, al
je 0x43f6e0
cmp byte [ebp - 8], 0
je 0x43e7bc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446878
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0043d49c
test al, al
je 0x43f6e0
jmp 0x43f6d3
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c18c
test al, al
je 0x43f6e0
cmp byte [ebp - 8], 0
je 0x43e7fd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446878
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0043cb18
test al, al
je 0x43f6e0
jmp 0x43f6d3
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c18c
test al, al
je 0x43f6e0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43e85f
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043525c
cmp byte [ebp - 8], 0
je 0x43f6e0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446878
jmp 0x43f6e0
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.0x43e885.0
jmp dword [eax*4 + 0x43e88c]
mov eax, dword [ebp - 0x10]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43e934
mov eax, dword [ebp - 0x10]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43e934
mov eax, dword [ebp - 0x10]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43e934
mov eax, dword [ebp - 0x10]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43e934
mov eax, dword [ebp - 0x10]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43e934
mov eax, dword [ebp - 0x10]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43e934
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.0043525c
cmp byte [ebp - 8], 0
je 0x43f6e0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446878
jmp 0x43f6e0
test esi, esi
je 0x43e946
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 0x43f6d3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446878
jmp 0x43f6d3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e980
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043525c
jmp 0x43f6e0
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 0x43f6d3
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x43f6d3
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.0043cdc4
test al, al
jne 0x43ea02
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043525c
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
jmp 0x43f6e0
lea edx, [ebx + 0x10]
mov eax, dword [ebp - 4]
call fcn.0043cdc4
test al, al
jne 0x43ea2c
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043525c
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
jmp 0x43f6e0
lea edx, [ebx + 0x14]
mov eax, dword [ebp - 4]
call fcn.0043cdc4
test al, al
jne 0x43ea56
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043525c
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
jmp 0x43f6e0
lea edx, [ebx + 0x18]
mov eax, dword [ebp - 4]
call fcn.0043cdc4
test al, al
jne 0x43ea80
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043525c
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
jmp 0x43f6e0
cmp dword [ebx + 0xc], 0xffffffff
je 0x43ea8f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0xc], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x43ea9e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x10], eax
cmp dword [ebx + 0x14], 0xffffffff
je 0x43eaad
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x14], eax
cmp dword [ebx + 0x18], 0xffffffff
je 0x43eabc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x18], eax
cmp dword [ebx + 0xc], 0xffffffff
je 0x43eacd
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x43eb00
cmp dword [ebx + 0x10], 0xffffffff
je 0x43eade
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x43eb00
cmp dword [ebx + 0x14], 0xffffffff
je 0x43eaef
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x43eb00
cmp dword [ebx + 0x18], 0xffffffff
je 0x43eb1b
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43eb1b
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043525c
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
jmp 0x43f6e0
mov edx, ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.004314f4
jmp 0x43f6d3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43eb4a
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043525c
jmp 0x43f6e0
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 0x43ec31
je 0x43ed0b
dec esi
je 0x43eb7e
dec esi
je 0x43edf4
jmp 0x43f6d3
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 0x43ebad
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043525c
jmp 0x43f6e0
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 0x43ebd6
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043525c
jmp 0x43f6e0
mov dword [ebx + 0x10], 0xffffffff
cmp dword [ebx + 0x14], 0xffffffff
je 0x43ebf8
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x43f6d3
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.0043153c
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43ec26
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x43f6d3
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x43f6d3
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 0x43ec5a
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043525c
jmp 0x43f6e0
cmp dword [ebx + 0xc], 0xffffffff
je 0x43ec75
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0xc], 0xffffffff
jmp 0x43f6d3
cmp dword [ebx + 0x14], 0xffffffff
je 0x43ec90
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xffffffff
jmp 0x43f6d3
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.0043153c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43ecec
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 0x43f6d3
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43ed00
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x43f6d3
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x43f6d3
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 0x43ed34
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043525c
jmp 0x43f6e0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43ed5e
cmp dword [ebx + 0x10], 0xffffffff
je 0x43ed5e
cmp dword [ebx + 0x10], 0xfffffffe
je 0x43ed5e
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xfffffffe
jmp 0x43f6d3
cmp dword [ebx + 0x14], 0xffffffff
je 0x43ed79
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x43f6d3
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.0043153c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43edd5
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 0x43f6d3
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43ede9
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x43f6d3
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x43f6d3
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 0x43ee1d
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043525c
jmp 0x43f6e0
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.0043153c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43ee79
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 0x43f6d3
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43ee8d
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x43f6d3
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x43f6d3
lea edx, [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043c18c
test al, al
je 0x43f6e0
cmp byte [ebp - 8], 0
je 0x43eecd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446878
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0043525c
jmp 0x43f6e0
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0xc], 0xd
je 0x43eee5
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0043525c
jmp 0x43f6e0
lea edx, [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043c18c
test al, al
je 0x43f6e0
mov eax, dword [ebp - 0x10]
add eax, 8
cmp dword [eax], 0
je 0x43ef17
mov eax, dword [ebp - 0x10]
add eax, 4
mov edx, dword [eax]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
call fcn.00433588
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xc], 0xd
jne 0x43efbc
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
je 0x43ef9f
mov eax, dword [ebp - 0x1c]
add eax, 4
mov eax, dword [eax]
call fcn.0043356c
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.00435ea4
test al, al
jne 0x43f01a
cmp byte [ebp - 0x14], 0
je 0x43ef90
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446878
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.0043525c
jmp 0x43f6e0
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 0x43f01a
mov eax, dword [ebp - 0x18]
call fcn.0043356c
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.00435ea4
test al, al
jne 0x43f01a
cmp byte [ebp - 0x14], 0
je 0x43f00b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446878
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.0043525c
jmp 0x43f6e0
cmp byte [ebp - 0x14], 0
je 0x43f6d3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446878
jmp 0x43f6d3
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c18c
test al, al
je 0x43f6e0
cmp byte [ebp - 8], 0
je 0x43f069
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446878
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0043525c
jmp 0x43f6e0
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43f075.0
jmp dword [eax*4 + 0x43f07c]
mov eax, dword [ebp - 0x10]
dec byte [eax]
jmp 0x43f6d3
mov eax, dword [ebp - 0x10]
dec byte [eax]
jmp 0x43f6d3
mov eax, dword [ebp - 0x10]
dec word [eax]
jmp 0x43f6d3
mov eax, dword [ebp - 0x10]
dec word [eax]
jmp 0x43f6d3
mov eax, dword [ebp - 0x10]
dec dword [eax]
jmp 0x43f6d3
mov eax, dword [ebp - 0x10]
dec dword [eax]
jmp 0x43f6d3
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.0043525c
jmp 0x43f6e0
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c18c
test al, al
je 0x43f6e0
cmp byte [ebp - 8], 0
je 0x43f11a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446878
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0043525c
jmp 0x43f6e0
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43f126.0
jmp dword [eax*4 + 0x43f12d]
mov eax, dword [ebp - 0x10]
inc byte [eax]
jmp 0x43f6d3
mov eax, dword [ebp - 0x10]
inc byte [eax]
jmp 0x43f6d3
mov eax, dword [ebp - 0x10]
inc word [eax]
jmp 0x43f6d3
mov eax, dword [ebp - 0x10]
inc word [eax]
jmp 0x43f6d3
mov eax, dword [ebp - 0x10]
inc dword [eax]
jmp 0x43f6d3
mov eax, dword [ebp - 0x10]
inc dword [eax]
jmp 0x43f6d3
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.0043525c
jmp 0x43f6e0
lea edx, [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043c18c
test al, al
je 0x43f6e0
cmp byte [ebp - 8], 0
je 0x43f1cb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446878
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0043525c
jmp 0x43f6e0
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0xc], 0xd
je 0x43f1e3
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0043525c
jmp 0x43f6e0
lea edx, [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043c18c
test al, al
je 0x43f6e0
cmp byte [ebp - 0x14], 0
je 0x43f218
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446878
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0043525c
jmp 0x43f6e0
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xc], 0xd
jne 0x43f240
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 0x43f6d3
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 0x43f6d3
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c18c
test al, al
je 0x43f6e0
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0xc], 0x15
je 0x43f296
cmp byte [ebp - 8], 0
je 0x43f287
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446878
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.0043525c
jmp 0x43f6e0
mov eax, dword [ebp - 0x10]
mov esi, dword [eax]
cmp byte [ebp - 8], 0
je 0x43f2ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446878
test esi, esi
jne 0x43f2e4
mov eax, dword [ebp - 0x10]
add eax, 8
cmp dword [eax], 0
je 0x43f2e4
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.004452b8
test al, al
je 0x43f6e0
jmp 0x43f6d3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp esi, dword [eax + 0xc]
jae 0x43f2f7
mov eax, dword [ebp - 4]
cmp esi, dword [eax + 0x48]
jne 0x43f306
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.0043525c
jmp 0x43f6e0
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, 0x43182c
jne 0x43f34c
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 0x43f6d3
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.0043525c
jmp 0x43f6d3
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004468d8
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 0x43f6d3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43f3d8
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0043525c
jmp 0x43f6e0
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.0043c18c
test al, al
je 0x43f6e0
cmp byte [ebp - 0x20], 0
je 0x43f4a7
mov eax, dword [ebp - 0x24]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43f426
sub al, 2
je 0x43f426
sub al, 6
je 0x43f426
sub al, 4
jne 0x43f431
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
call fcn.0043336c
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 0x43f46a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431494
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 0x43f498
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446684
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0043525c
jmp 0x43f6e0
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c18c
test al, al
je 0x43f6e0
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c18c
test al, al
jne 0x43f580
cmp byte [ebp - 0x14], 0
je 0x43f6e0
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43f4f3
sub al, 2
je 0x43f4f3
sub al, 6
je 0x43f4f3
sub al, 4
jne 0x43f4fe
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.0043336c
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 0x43f549
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431494
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 0x43f6e0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446684
jmp 0x43f6e0
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.00437318
cmp byte [ebp - 8], 0
je 0x43f633
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43f5c1
sub al, 2
je 0x43f5c1
sub al, 6
je 0x43f5c1
sub al, 4
jne 0x43f5cc
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.0043336c
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 0x43f605
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431494
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 0x43f633
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446684
cmp byte [ebp - 0x14], 0
je 0x43f6d3
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43f655
sub al, 2
je 0x43f655
sub al, 6
je 0x43f655
sub al, 4
jne 0x43f660
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.0043336c
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 0x43f699
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431494
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 0x43f6d3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446684
jmp 0x43f6d3
mov dl, 5
mov eax, dword [ebp - 4]
call fcn.0043525c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x43d6e3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x43f6f9
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x43d6d7
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x43f73d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x43f722
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446878
dec esi
cmp esi, 0xffffffff
jne 0x43f711
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 0x43f73d
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