Function at 0x43d014
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 0x43d067
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x43d05d
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 0x43d03f
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 0x43d097
sub al, 2
je 0x43d120
jmp 0x43d129
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
jne 0x43d0a7
xor ebx, ebx
jmp 0x43f1b7
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.00402ab4
cmp eax, 0x431304
jne 0x43d0ee
mov dl, 7
mov eax, dword [ebp - 4]
call fcn.00434d34
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 1
jmp 0x43f1b7
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 0x43d130
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x43d130
xor ebx, ebx
jmp 0x43f1b7
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.0043cff4
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x43f143
cmp dword [ebp - 0x34], 0
je 0x43d15f
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 0x43d17c
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434d34
jmp 0x43f150
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 0x43d1e5
je 0x43ec06
cmp eax, 0xd
ja case.default.0x43d1fc
jmp dword [eax*4 + 0x43d1ad]
cmp eax, 0x15
jg 0x43d21b
je 0x43e206
add eax, 0xfffffff1
cmp eax, 5
ja case.default.0x43d1fc
jmp dword [eax*4 + 0x43d203]
cmp eax, 0x19
jg 0x43d242
je 0x43dc65
sub eax, 0x16
je 0x43e908
dec eax
je 0x43eb55
dec eax
je 0x43eaa4
jmp case.default.0x43d1fc
sub eax, 0x1a
je 0x43dcb2
sub eax, 0xe5
je 0x43f143
jmp case.default.0x43d1fc
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bbfc
test al, al
je 0x43f150
cmp byte [ebp - 8], 0
je 0x43d313
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43d292
sub al, 2
je 0x43d292
sub al, 6
je 0x43d292
sub al, 4
jne 0x43d29d
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.00432e44
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 0x43d2d6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00430f6c
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 0x43d304
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004460f4
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00434d34
jmp 0x43f150
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bbfc
test al, al
je 0x43f150
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.00436110
test al, al
jne 0x43d3f5
cmp byte [ebp - 0x14], 0
je 0x43f150
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43d368
sub al, 2
je 0x43d368
sub al, 6
je 0x43d368
sub al, 4
jne 0x43d373
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00432e44
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 0x43d3be
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00430f6c
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 0x43f150
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004460f4
jmp 0x43f150
cmp byte [ebp - 0x14], 0
je 0x43f143
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43d417
sub al, 2
je 0x43d417
sub al, 6
je 0x43d417
sub al, 4
jne 0x43d422
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00432e44
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 0x43d45b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00430f6c
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 0x43f143
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004460f4
jmp 0x43f143
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43d4af
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434d34
jmp 0x43f150
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.0043bbfc
test al, al
je 0x43f150
cmp byte [ebp - 8], 0
je 0x43d57e
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43d4fd
sub al, 2
je 0x43d4fd
sub al, 6
je 0x43d4fd
sub al, 4
jne 0x43d508
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.00432e44
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 0x43d541
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00430f6c
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 0x43d56f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004460f4
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00434d34
jmp 0x43f150
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bbfc
test al, al
je 0x43f150
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.004389a4
test al, al
jne 0x43d661
cmp byte [ebp - 0x14], 0
je 0x43f150
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43d5d4
sub al, 2
je 0x43d5d4
sub al, 6
je 0x43d5d4
sub al, 4
jne 0x43d5df
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00432e44
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 0x43d62a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00430f6c
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 0x43f150
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004460f4
jmp 0x43f150
cmp byte [ebp - 0x14], 0
je 0x43f143
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43d683
sub al, 2
je 0x43d683
sub al, 6
je 0x43d683
sub al, 4
jne 0x43d68e
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00432e44
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 0x43d6c7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00430f6c
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 0x43f143
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004460f4
jmp 0x43f143
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bbfc
test al, al
je 0x43f150
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446328
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.00436110
test al, al
jne 0x43d801
cmp byte [ebp - 0x14], 0
je 0x43f150
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43d774
sub al, 2
je 0x43d774
sub al, 6
je 0x43d774
sub al, 4
jne 0x43d77f
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00432e44
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 0x43d7ca
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00430f6c
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 0x43f150
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004460f4
jmp 0x43f150
cmp byte [ebp - 0x14], 0
je 0x43f143
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43d823
sub al, 2
je 0x43d823
sub al, 6
je 0x43d823
sub al, 4
jne 0x43d82e
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00432e44
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 0x43d867
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00430f6c
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 0x43f143
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004460f4
jmp 0x43f143
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bbfc
test al, al
je 0x43f150
cmp byte [ebp - 0x14], 0
je 0x43d8d3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004462c8
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00434d34
jmp 0x43f150
mov dl, 0xd
mov eax, dword [ebp - 4]
call fcn.0043cc28
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446328
mov esi, eax
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xc], 0xd
jne 0x43d912
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 0x43f143
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 0x43f143
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
cmp dword [eax + 0xc], 0
jne 0x43d943
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.00434d34
jmp 0x43f150
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 0x43d95f
mov eax, dword [esi]
cmp byte [eax + 0xc], 0
jne 0x43d96e
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.00434d34
jmp 0x43f150
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 0x43d99a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00430f6c
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 0x43d9c5
sub al, 2
je 0x43d9c5
sub al, 6
je 0x43d9c5
sub al, 4
jne 0x43d9d1
mov edx, dword [esi]
mov eax, esi
add eax, 4
call fcn.00432e44
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 0x43f143
call fcn.004460f4
jmp 0x43f143
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43da13
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434d34
jmp 0x43f150
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 0x43da44
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.00434d34
jmp 0x43f150
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.00402ab4
cmp eax, 0x431304
jne 0x43dbe5
xor eax, eax
push ebp
push 0x43dab6
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 0x43daa9
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x43da9c
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.00434d34
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x43f150
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x43f143
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446328
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 0x43f143
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004462c8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43dc90
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434d34
jmp 0x43f150
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 0x43f143
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004462c8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004462c8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43dce8
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434d34
jmp 0x43f150
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 0x43f143
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43dd2a
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434d34
jmp 0x43f150
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 0x43f143
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43dd6c
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434d34
jmp 0x43f150
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.0043bbfc
test al, al
je 0x43f150
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43dda6.0
jmp dword [eax*4 + 0x43ddad]
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
setne bl
jmp 0x43de31
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
setne bl
jmp 0x43de31
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
setne bl
jmp 0x43de31
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
setne bl
jmp 0x43de31
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
setne bl
jmp 0x43de31
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
setne bl
jmp 0x43de31
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00434d34
cmp byte [ebp - 0x14], 0
je 0x43f150
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004462c8
jmp 0x43f150
cmp byte [ebp - 0x14], 0
je 0x43de42
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004462c8
test bl, bl
je 0x43f143
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x43f143
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43de75
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434d34
jmp 0x43f150
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.0043bbfc
test al, al
je 0x43f150
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43deaf.0
jmp dword [eax*4 + 0x43deb6]
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
sete bl
jmp 0x43df3a
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
sete bl
jmp 0x43df3a
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
sete bl
jmp 0x43df3a
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
sete bl
jmp 0x43df3a
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
sete bl
jmp 0x43df3a
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
sete bl
jmp 0x43df3a
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00434d34
cmp byte [ebp - 0x14], 0
je 0x43f150
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004462c8
jmp 0x43f150
cmp byte [ebp - 0x14], 0
je 0x43df4b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004462c8
test bl, bl
je 0x43f143
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x43f143
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 0x43e07d
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 0x43e05a
cmp dword [ebx + 0x10], 0xfffffffe
jne 0x43dfb1
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 0x43dfdf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebx + 8]
jbe 0x43dfdf
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 0x43dfdf
dec edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004462c8
inc edi
jne 0x43dfd1
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
mov eax, dword [ebx + 0xc]
cmp eax, 0xffffffff
je 0x43e004
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0xc], 0xffffffff
mov esi, 1
jmp 0x43e07d
cmp dword [ebx + 0x14], 0xffffffff
je 0x43e021
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
mov esi, 1
jmp 0x43e07d
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.00431014
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x43e07d
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 0x43df95
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
jbe 0x43e07d
cmp eax, 0xffffffff
jne 0x43df95
test esi, esi
jne 0x43f143
mov dword [ebp - 0x2c], 0xffffffff
mov eax, dword [ebp - 4]
cmp dword [eax + 0x60], 0xffffffff
jne 0x43e0a3
mov al, byte [ebp - 0x2d]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x43f150
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 0x43e0c7
dec edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004462c8
inc edi
jne 0x43e0b9
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 0x43e0e6
mov al, byte [ebp - 0x2d]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x43f150
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.004462c8
mov eax, dword [ebp - 4]
cmp dword [eax + 0x50], 0
jne 0x43e135
mov al, byte [ebp - 0x2d]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x43f150
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 0x43f143
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e178
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434d34
jmp 0x43f150
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 0x43e1a9
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00434d34
jmp 0x43f150
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.00446328
jmp 0x43f143
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bbfc
test al, al
je 0x43f150
cmp byte [ebp - 8], 0
je 0x43e1eb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004462c8
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0043c6bc
test al, al
je 0x43f150
jmp 0x43f143
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bbfc
test al, al
je 0x43f150
cmp byte [ebp - 8], 0
je 0x43e22c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004462c8
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0043cf0c
test al, al
je 0x43f150
jmp 0x43f143
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bbfc
test al, al
je 0x43f150
cmp byte [ebp - 8], 0
je 0x43e26d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004462c8
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0043c588
test al, al
je 0x43f150
jmp 0x43f143
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bbfc
test al, al
je 0x43f150
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43e2cf
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434d34
cmp byte [ebp - 8], 0
je 0x43f150
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004462c8
jmp 0x43f150
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.0x43e2f5.0
jmp dword [eax*4 + 0x43e2fc]
mov eax, dword [ebp - 0x10]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43e3a4
mov eax, dword [ebp - 0x10]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43e3a4
mov eax, dword [ebp - 0x10]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43e3a4
mov eax, dword [ebp - 0x10]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43e3a4
mov eax, dword [ebp - 0x10]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43e3a4
mov eax, dword [ebp - 0x10]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43e3a4
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00434d34
cmp byte [ebp - 8], 0
je 0x43f150
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004462c8
jmp 0x43f150
test esi, esi
je 0x43e3b6
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 0x43f143
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004462c8
jmp 0x43f143
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e3f0
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434d34
jmp 0x43f150
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 0x43f143
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x43f143
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.0043c834
test al, al
jne 0x43e472
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434d34
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
jmp 0x43f150
lea edx, [ebx + 0x10]
mov eax, dword [ebp - 4]
call fcn.0043c834
test al, al
jne 0x43e49c
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434d34
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
jmp 0x43f150
lea edx, [ebx + 0x14]
mov eax, dword [ebp - 4]
call fcn.0043c834
test al, al
jne 0x43e4c6
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434d34
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
jmp 0x43f150
lea edx, [ebx + 0x18]
mov eax, dword [ebp - 4]
call fcn.0043c834
test al, al
jne 0x43e4f0
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434d34
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
jmp 0x43f150
cmp dword [ebx + 0xc], 0xffffffff
je 0x43e4ff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0xc], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x43e50e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x10], eax
cmp dword [ebx + 0x14], 0xffffffff
je 0x43e51d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x14], eax
cmp dword [ebx + 0x18], 0xffffffff
je 0x43e52c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x18], eax
cmp dword [ebx + 0xc], 0xffffffff
je 0x43e53d
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x43e570
cmp dword [ebx + 0x10], 0xffffffff
je 0x43e54e
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x43e570
cmp dword [ebx + 0x14], 0xffffffff
je 0x43e55f
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x43e570
cmp dword [ebx + 0x18], 0xffffffff
je 0x43e58b
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43e58b
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434d34
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
jmp 0x43f150
mov edx, ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.00430fcc
jmp 0x43f143
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43e5ba
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434d34
jmp 0x43f150
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 0x43e6a1
je 0x43e77b
dec esi
je 0x43e5ee
dec esi
je 0x43e864
jmp 0x43f143
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 0x43e61d
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434d34
jmp 0x43f150
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 0x43e646
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434d34
jmp 0x43f150
mov dword [ebx + 0x10], 0xffffffff
cmp dword [ebx + 0x14], 0xffffffff
je 0x43e668
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x43f143
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.00431014
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43e696
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x43f143
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x43f143
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 0x43e6ca
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434d34
jmp 0x43f150
cmp dword [ebx + 0xc], 0xffffffff
je 0x43e6e5
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0xc], 0xffffffff
jmp 0x43f143
cmp dword [ebx + 0x14], 0xffffffff
je 0x43e700
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xffffffff
jmp 0x43f143
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.00431014
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43e75c
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 0x43f143
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43e770
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x43f143
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x43f143
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 0x43e7a4
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434d34
jmp 0x43f150
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43e7ce
cmp dword [ebx + 0x10], 0xffffffff
je 0x43e7ce
cmp dword [ebx + 0x10], 0xfffffffe
je 0x43e7ce
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xfffffffe
jmp 0x43f143
cmp dword [ebx + 0x14], 0xffffffff
je 0x43e7e9
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x43f143
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.00431014
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43e845
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 0x43f143
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43e859
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x43f143
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x43f143
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 0x43e88d
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434d34
jmp 0x43f150
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.00431014
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43e8e9
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 0x43f143
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43e8fd
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x43f143
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x43f143
lea edx, [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043bbfc
test al, al
je 0x43f150
cmp byte [ebp - 8], 0
je 0x43e93d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004462c8
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00434d34
jmp 0x43f150
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0xc], 0xd
je 0x43e955
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00434d34
jmp 0x43f150
lea edx, [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043bbfc
test al, al
je 0x43f150
mov eax, dword [ebp - 0x10]
add eax, 8
cmp dword [eax], 0
je 0x43e987
mov eax, dword [ebp - 0x10]
add eax, 4
mov edx, dword [eax]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
call fcn.00433060
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xc], 0xd
jne 0x43ea2c
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
je 0x43ea0f
mov eax, dword [ebp - 0x1c]
add eax, 4
mov eax, dword [eax]
call fcn.00433044
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.00435914
test al, al
jne 0x43ea8a
cmp byte [ebp - 0x14], 0
je 0x43ea00
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004462c8
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00434d34
jmp 0x43f150
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 0x43ea8a
mov eax, dword [ebp - 0x18]
call fcn.00433044
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.00435914
test al, al
jne 0x43ea8a
cmp byte [ebp - 0x14], 0
je 0x43ea7b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004462c8
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00434d34
jmp 0x43f150
cmp byte [ebp - 0x14], 0
je 0x43f143
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004462c8
jmp 0x43f143
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bbfc
test al, al
je 0x43f150
cmp byte [ebp - 8], 0
je 0x43ead9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004462c8
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00434d34
jmp 0x43f150
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43eae5.0
jmp dword [eax*4 + 0x43eaec]
mov eax, dword [ebp - 0x10]
dec byte [eax]
jmp 0x43f143
mov eax, dword [ebp - 0x10]
dec byte [eax]
jmp 0x43f143
mov eax, dword [ebp - 0x10]
dec word [eax]
jmp 0x43f143
mov eax, dword [ebp - 0x10]
dec word [eax]
jmp 0x43f143
mov eax, dword [ebp - 0x10]
dec dword [eax]
jmp 0x43f143
mov eax, dword [ebp - 0x10]
dec dword [eax]
jmp 0x43f143
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00434d34
jmp 0x43f150
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bbfc
test al, al
je 0x43f150
cmp byte [ebp - 8], 0
je 0x43eb8a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004462c8
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00434d34
jmp 0x43f150
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43eb96.0
jmp dword [eax*4 + 0x43eb9d]
mov eax, dword [ebp - 0x10]
inc byte [eax]
jmp 0x43f143
mov eax, dword [ebp - 0x10]
inc byte [eax]
jmp 0x43f143
mov eax, dword [ebp - 0x10]
inc word [eax]
jmp 0x43f143
mov eax, dword [ebp - 0x10]
inc word [eax]
jmp 0x43f143
mov eax, dword [ebp - 0x10]
inc dword [eax]
jmp 0x43f143
mov eax, dword [ebp - 0x10]
inc dword [eax]
jmp 0x43f143
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00434d34
jmp 0x43f150
lea edx, [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043bbfc
test al, al
je 0x43f150
cmp byte [ebp - 8], 0
je 0x43ec3b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004462c8
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00434d34
jmp 0x43f150
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0xc], 0xd
je 0x43ec53
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00434d34
jmp 0x43f150
lea edx, [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043bbfc
test al, al
je 0x43f150
cmp byte [ebp - 0x14], 0
je 0x43ec88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004462c8
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00434d34
jmp 0x43f150
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xc], 0xd
jne 0x43ecb0
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 0x43f143
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 0x43f143
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bbfc
test al, al
je 0x43f150
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0xc], 0x15
je 0x43ed06
cmp byte [ebp - 8], 0
je 0x43ecf7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004462c8
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00434d34
jmp 0x43f150
mov eax, dword [ebp - 0x10]
mov esi, dword [eax]
cmp byte [ebp - 8], 0
je 0x43ed1c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004462c8
test esi, esi
jne 0x43ed54
mov eax, dword [ebp - 0x10]
add eax, 8
cmp dword [eax], 0
je 0x43ed54
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.00444d28
test al, al
je 0x43f150
jmp 0x43f143
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp esi, dword [eax + 0xc]
jae 0x43ed67
mov eax, dword [ebp - 4]
cmp esi, dword [eax + 0x48]
jne 0x43ed76
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.00434d34
jmp 0x43f150
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.00402ab4
cmp eax, 0x431304
jne 0x43edbc
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 0x43f143
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.00434d34
jmp 0x43f143
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446328
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 0x43f143
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43ee48
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434d34
jmp 0x43f150
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.0043bbfc
test al, al
je 0x43f150
cmp byte [ebp - 0x20], 0
je 0x43ef17
mov eax, dword [ebp - 0x24]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43ee96
sub al, 2
je 0x43ee96
sub al, 6
je 0x43ee96
sub al, 4
jne 0x43eea1
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
call fcn.00432e44
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 0x43eeda
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00430f6c
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 0x43ef08
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004460f4
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00434d34
jmp 0x43f150
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bbfc
test al, al
je 0x43f150
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bbfc
test al, al
jne 0x43eff0
cmp byte [ebp - 0x14], 0
je 0x43f150
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43ef63
sub al, 2
je 0x43ef63
sub al, 6
je 0x43ef63
sub al, 4
jne 0x43ef6e
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00432e44
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 0x43efb9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00430f6c
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 0x43f150
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004460f4
jmp 0x43f150
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.00436d88
cmp byte [ebp - 8], 0
je 0x43f0a3
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43f031
sub al, 2
je 0x43f031
sub al, 6
je 0x43f031
sub al, 4
jne 0x43f03c
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.00432e44
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 0x43f075
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00430f6c
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 0x43f0a3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004460f4
cmp byte [ebp - 0x14], 0
je 0x43f143
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43f0c5
sub al, 2
je 0x43f0c5
sub al, 6
je 0x43f0c5
sub al, 4
jne 0x43f0d0
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00432e44
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 0x43f109
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00430f6c
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 0x43f143
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004460f4
jmp 0x43f143
mov dl, 5
mov eax, dword [ebp - 4]
call fcn.00434d34
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x43d153
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x43f169
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x43d147
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x43f1ad
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x43f192
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004462c8
dec esi
cmp esi, 0xffffffff
jne 0x43f181
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 0x43f1ad
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