Function at 0x43dd50
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 0x43dda3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x43dd99
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 0x43dd7b
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 0x43ddd3
sub al, 2
je 0x43de5c
jmp 0x43de65
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
jne 0x43dde3
xor ebx, ebx
jmp 0x43fef3
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, 0x431fd8
jne 0x43de2a
mov dl, 7
mov eax, dword [ebp - 4]
call fcn.00435a08
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 1
jmp 0x43fef3
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 0x43de6c
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x43de6c
xor ebx, ebx
jmp 0x43fef3
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.0043dd30
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x43fe7f
cmp dword [ebp - 0x34], 0
je 0x43de9b
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 0x43deb8
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435a08
jmp 0x43fe8c
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 0x43df21
je 0x43f942
cmp eax, 0xd
ja case.default.0x43df38
jmp dword [eax*4 + 0x43dee9]
cmp eax, 0x15
jg 0x43df57
je 0x43ef42
add eax, 0xfffffff1
cmp eax, 5
ja case.default.0x43df38
jmp dword [eax*4 + 0x43df3f]
cmp eax, 0x19
jg 0x43df7e
je 0x43e9a1
sub eax, 0x16
je 0x43f644
dec eax
je 0x43f891
dec eax
je 0x43f7e0
jmp case.default.0x43df38
sub eax, 0x1a
je 0x43e9ee
sub eax, 0xe5
je 0x43fe7f
jmp case.default.0x43df38
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c938
test al, al
je 0x43fe8c
cmp byte [ebp - 8], 0
je 0x43e04f
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43dfce
sub al, 2
je 0x43dfce
sub al, 6
je 0x43dfce
sub al, 4
jne 0x43dfd9
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.00433b18
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 0x43e012
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431c40
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 0x43e040
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446e30
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435a08
jmp 0x43fe8c
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c938
test al, al
je 0x43fe8c
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.00436e4c
test al, al
jne 0x43e131
cmp byte [ebp - 0x14], 0
je 0x43fe8c
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43e0a4
sub al, 2
je 0x43e0a4
sub al, 6
je 0x43e0a4
sub al, 4
jne 0x43e0af
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00433b18
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 0x43e0fa
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431c40
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 0x43fe8c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446e30
jmp 0x43fe8c
cmp byte [ebp - 0x14], 0
je 0x43fe7f
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43e153
sub al, 2
je 0x43e153
sub al, 6
je 0x43e153
sub al, 4
jne 0x43e15e
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00433b18
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 0x43e197
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431c40
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 0x43fe7f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446e30
jmp 0x43fe7f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43e1eb
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435a08
jmp 0x43fe8c
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.0043c938
test al, al
je 0x43fe8c
cmp byte [ebp - 8], 0
je 0x43e2ba
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43e239
sub al, 2
je 0x43e239
sub al, 6
je 0x43e239
sub al, 4
jne 0x43e244
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.00433b18
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 0x43e27d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431c40
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 0x43e2ab
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446e30
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435a08
jmp 0x43fe8c
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c938
test al, al
je 0x43fe8c
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.004396e0
test al, al
jne 0x43e39d
cmp byte [ebp - 0x14], 0
je 0x43fe8c
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43e310
sub al, 2
je 0x43e310
sub al, 6
je 0x43e310
sub al, 4
jne 0x43e31b
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00433b18
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 0x43e366
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431c40
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 0x43fe8c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446e30
jmp 0x43fe8c
cmp byte [ebp - 0x14], 0
je 0x43fe7f
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43e3bf
sub al, 2
je 0x43e3bf
sub al, 6
je 0x43e3bf
sub al, 4
jne 0x43e3ca
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00433b18
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 0x43e403
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431c40
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 0x43fe7f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446e30
jmp 0x43fe7f
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c938
test al, al
je 0x43fe8c
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00447084
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.00436e4c
test al, al
jne 0x43e53d
cmp byte [ebp - 0x14], 0
je 0x43fe8c
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43e4b0
sub al, 2
je 0x43e4b0
sub al, 6
je 0x43e4b0
sub al, 4
jne 0x43e4bb
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00433b18
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 0x43e506
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431c40
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 0x43fe8c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446e30
jmp 0x43fe8c
cmp byte [ebp - 0x14], 0
je 0x43fe7f
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43e55f
sub al, 2
je 0x43e55f
sub al, 6
je 0x43e55f
sub al, 4
jne 0x43e56a
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00433b18
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 0x43e5a3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431c40
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 0x43fe7f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446e30
jmp 0x43fe7f
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c938
test al, al
je 0x43fe8c
cmp byte [ebp - 0x14], 0
je 0x43e60f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447024
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435a08
jmp 0x43fe8c
mov dl, 0xd
mov eax, dword [ebp - 4]
call fcn.0043d964
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00447084
mov esi, eax
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xc], 0xd
jne 0x43e64e
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 0x43fe7f
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 0x43fe7f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
cmp dword [eax + 0xc], 0
jne 0x43e67f
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.00435a08
jmp 0x43fe8c
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 0x43e69b
mov eax, dword [esi]
cmp byte [eax + 0xc], 0
jne 0x43e6aa
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.00435a08
jmp 0x43fe8c
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 0x43e6d6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00431c40
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 0x43e701
sub al, 2
je 0x43e701
sub al, 6
je 0x43e701
sub al, 4
jne 0x43e70d
mov edx, dword [esi]
mov eax, esi
add eax, 4
call fcn.00433b18
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 0x43fe7f
call fcn.00446e30
jmp 0x43fe7f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e74f
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435a08
jmp 0x43fe8c
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 0x43e780
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.00435a08
jmp 0x43fe8c
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, 0x431fd8
jne 0x43e921
xor eax, eax
push ebp
push 0x43e7f2
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 0x43e7e5
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x43e7d8
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.00435a08
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x43fe8c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x43fe7f
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00447084
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 0x43fe7f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00447024
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e9cc
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435a08
jmp 0x43fe8c
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 0x43fe7f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00447024
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00447024
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43ea24
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435a08
jmp 0x43fe8c
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 0x43fe7f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43ea66
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435a08
jmp 0x43fe8c
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 0x43fe7f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43eaa8
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435a08
jmp 0x43fe8c
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.0043c938
test al, al
je 0x43fe8c
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43eae2.0
jmp dword [eax*4 + 0x43eae9]
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
setne bl
jmp 0x43eb6d
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
setne bl
jmp 0x43eb6d
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
setne bl
jmp 0x43eb6d
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
setne bl
jmp 0x43eb6d
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
setne bl
jmp 0x43eb6d
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
setne bl
jmp 0x43eb6d
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00435a08
cmp byte [ebp - 0x14], 0
je 0x43fe8c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447024
jmp 0x43fe8c
cmp byte [ebp - 0x14], 0
je 0x43eb7e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447024
test bl, bl
je 0x43fe7f
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x43fe7f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43ebb1
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435a08
jmp 0x43fe8c
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.0043c938
test al, al
je 0x43fe8c
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43ebeb.0
jmp dword [eax*4 + 0x43ebf2]
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
sete bl
jmp 0x43ec76
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
sete bl
jmp 0x43ec76
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
sete bl
jmp 0x43ec76
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
sete bl
jmp 0x43ec76
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
sete bl
jmp 0x43ec76
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
sete bl
jmp 0x43ec76
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00435a08
cmp byte [ebp - 0x14], 0
je 0x43fe8c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447024
jmp 0x43fe8c
cmp byte [ebp - 0x14], 0
je 0x43ec87
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447024
test bl, bl
je 0x43fe7f
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x43fe7f
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 0x43edb9
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 0x43ed96
cmp dword [ebx + 0x10], 0xfffffffe
jne 0x43eced
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 0x43ed1b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebx + 8]
jbe 0x43ed1b
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 0x43ed1b
dec edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00447024
inc edi
jne 0x43ed0d
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
mov eax, dword [ebx + 0xc]
cmp eax, 0xffffffff
je 0x43ed40
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0xc], 0xffffffff
mov esi, 1
jmp 0x43edb9
cmp dword [ebx + 0x14], 0xffffffff
je 0x43ed5d
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
mov esi, 1
jmp 0x43edb9
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.00431ce8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x43edb9
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 0x43ecd1
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
jbe 0x43edb9
cmp eax, 0xffffffff
jne 0x43ecd1
test esi, esi
jne 0x43fe7f
mov dword [ebp - 0x2c], 0xffffffff
mov eax, dword [ebp - 4]
cmp dword [eax + 0x60], 0xffffffff
jne 0x43eddf
mov al, byte [ebp - 0x2d]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x43fe8c
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 0x43ee03
dec edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00447024
inc edi
jne 0x43edf5
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 0x43ee22
mov al, byte [ebp - 0x2d]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x43fe8c
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.00447024
mov eax, dword [ebp - 4]
cmp dword [eax + 0x50], 0
jne 0x43ee71
mov al, byte [ebp - 0x2d]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x43fe8c
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 0x43fe7f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43eeb4
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435a08
jmp 0x43fe8c
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 0x43eee5
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00435a08
jmp 0x43fe8c
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.00447084
jmp 0x43fe7f
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c938
test al, al
je 0x43fe8c
cmp byte [ebp - 8], 0
je 0x43ef27
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447024
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0043d3f8
test al, al
je 0x43fe8c
jmp 0x43fe7f
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c938
test al, al
je 0x43fe8c
cmp byte [ebp - 8], 0
je 0x43ef68
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447024
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0043dc48
test al, al
je 0x43fe8c
jmp 0x43fe7f
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c938
test al, al
je 0x43fe8c
cmp byte [ebp - 8], 0
je 0x43efa9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447024
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0043d2c4
test al, al
je 0x43fe8c
jmp 0x43fe7f
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c938
test al, al
je 0x43fe8c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43f00b
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435a08
cmp byte [ebp - 8], 0
je 0x43fe8c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447024
jmp 0x43fe8c
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.0x43f031.0
jmp dword [eax*4 + 0x43f038]
mov eax, dword [ebp - 0x10]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43f0e0
mov eax, dword [ebp - 0x10]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43f0e0
mov eax, dword [ebp - 0x10]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43f0e0
mov eax, dword [ebp - 0x10]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43f0e0
mov eax, dword [ebp - 0x10]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43f0e0
mov eax, dword [ebp - 0x10]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43f0e0
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00435a08
cmp byte [ebp - 8], 0
je 0x43fe8c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447024
jmp 0x43fe8c
test esi, esi
je 0x43f0f2
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 0x43fe7f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447024
jmp 0x43fe7f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43f12c
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435a08
jmp 0x43fe8c
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 0x43fe7f
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x43fe7f
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.0043d570
test al, al
jne 0x43f1ae
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435a08
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
jmp 0x43fe8c
lea edx, [ebx + 0x10]
mov eax, dword [ebp - 4]
call fcn.0043d570
test al, al
jne 0x43f1d8
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435a08
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
jmp 0x43fe8c
lea edx, [ebx + 0x14]
mov eax, dword [ebp - 4]
call fcn.0043d570
test al, al
jne 0x43f202
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435a08
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
jmp 0x43fe8c
lea edx, [ebx + 0x18]
mov eax, dword [ebp - 4]
call fcn.0043d570
test al, al
jne 0x43f22c
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435a08
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
jmp 0x43fe8c
cmp dword [ebx + 0xc], 0xffffffff
je 0x43f23b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0xc], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x43f24a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x10], eax
cmp dword [ebx + 0x14], 0xffffffff
je 0x43f259
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x14], eax
cmp dword [ebx + 0x18], 0xffffffff
je 0x43f268
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x18], eax
cmp dword [ebx + 0xc], 0xffffffff
je 0x43f279
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x43f2ac
cmp dword [ebx + 0x10], 0xffffffff
je 0x43f28a
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x43f2ac
cmp dword [ebx + 0x14], 0xffffffff
je 0x43f29b
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x43f2ac
cmp dword [ebx + 0x18], 0xffffffff
je 0x43f2c7
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43f2c7
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435a08
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
jmp 0x43fe8c
mov edx, ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.00431ca0
jmp 0x43fe7f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43f2f6
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435a08
jmp 0x43fe8c
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 0x43f3dd
je 0x43f4b7
dec esi
je 0x43f32a
dec esi
je 0x43f5a0
jmp 0x43fe7f
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 0x43f359
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435a08
jmp 0x43fe8c
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 0x43f382
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435a08
jmp 0x43fe8c
mov dword [ebx + 0x10], 0xffffffff
cmp dword [ebx + 0x14], 0xffffffff
je 0x43f3a4
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x43fe7f
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.00431ce8
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43f3d2
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x43fe7f
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x43fe7f
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 0x43f406
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435a08
jmp 0x43fe8c
cmp dword [ebx + 0xc], 0xffffffff
je 0x43f421
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0xc], 0xffffffff
jmp 0x43fe7f
cmp dword [ebx + 0x14], 0xffffffff
je 0x43f43c
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xffffffff
jmp 0x43fe7f
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.00431ce8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43f498
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 0x43fe7f
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43f4ac
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x43fe7f
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x43fe7f
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 0x43f4e0
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435a08
jmp 0x43fe8c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43f50a
cmp dword [ebx + 0x10], 0xffffffff
je 0x43f50a
cmp dword [ebx + 0x10], 0xfffffffe
je 0x43f50a
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xfffffffe
jmp 0x43fe7f
cmp dword [ebx + 0x14], 0xffffffff
je 0x43f525
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x43fe7f
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.00431ce8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43f581
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 0x43fe7f
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43f595
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x43fe7f
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x43fe7f
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 0x43f5c9
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435a08
jmp 0x43fe8c
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.00431ce8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43f625
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 0x43fe7f
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43f639
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x43fe7f
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x43fe7f
lea edx, [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043c938
test al, al
je 0x43fe8c
cmp byte [ebp - 8], 0
je 0x43f679
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447024
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435a08
jmp 0x43fe8c
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0xc], 0xd
je 0x43f691
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435a08
jmp 0x43fe8c
lea edx, [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043c938
test al, al
je 0x43fe8c
mov eax, dword [ebp - 0x10]
add eax, 8
cmp dword [eax], 0
je 0x43f6c3
mov eax, dword [ebp - 0x10]
add eax, 4
mov edx, dword [eax]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
call fcn.00433d34
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xc], 0xd
jne 0x43f768
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
je 0x43f74b
mov eax, dword [ebp - 0x1c]
add eax, 4
mov eax, dword [eax]
call fcn.00433d18
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.00436650
test al, al
jne 0x43f7c6
cmp byte [ebp - 0x14], 0
je 0x43f73c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447024
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00435a08
jmp 0x43fe8c
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 0x43f7c6
mov eax, dword [ebp - 0x18]
call fcn.00433d18
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.00436650
test al, al
jne 0x43f7c6
cmp byte [ebp - 0x14], 0
je 0x43f7b7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447024
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00435a08
jmp 0x43fe8c
cmp byte [ebp - 0x14], 0
je 0x43fe7f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447024
jmp 0x43fe7f
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c938
test al, al
je 0x43fe8c
cmp byte [ebp - 8], 0
je 0x43f815
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447024
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435a08
jmp 0x43fe8c
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43f821.0
jmp dword [eax*4 + 0x43f828]
mov eax, dword [ebp - 0x10]
dec byte [eax]
jmp 0x43fe7f
mov eax, dword [ebp - 0x10]
dec byte [eax]
jmp 0x43fe7f
mov eax, dword [ebp - 0x10]
dec word [eax]
jmp 0x43fe7f
mov eax, dword [ebp - 0x10]
dec word [eax]
jmp 0x43fe7f
mov eax, dword [ebp - 0x10]
dec dword [eax]
jmp 0x43fe7f
mov eax, dword [ebp - 0x10]
dec dword [eax]
jmp 0x43fe7f
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00435a08
jmp 0x43fe8c
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c938
test al, al
je 0x43fe8c
cmp byte [ebp - 8], 0
je 0x43f8c6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447024
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435a08
jmp 0x43fe8c
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43f8d2.0
jmp dword [eax*4 + 0x43f8d9]
mov eax, dword [ebp - 0x10]
inc byte [eax]
jmp 0x43fe7f
mov eax, dword [ebp - 0x10]
inc byte [eax]
jmp 0x43fe7f
mov eax, dword [ebp - 0x10]
inc word [eax]
jmp 0x43fe7f
mov eax, dword [ebp - 0x10]
inc word [eax]
jmp 0x43fe7f
mov eax, dword [ebp - 0x10]
inc dword [eax]
jmp 0x43fe7f
mov eax, dword [ebp - 0x10]
inc dword [eax]
jmp 0x43fe7f
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00435a08
jmp 0x43fe8c
lea edx, [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043c938
test al, al
je 0x43fe8c
cmp byte [ebp - 8], 0
je 0x43f977
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447024
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435a08
jmp 0x43fe8c
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0xc], 0xd
je 0x43f98f
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435a08
jmp 0x43fe8c
lea edx, [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043c938
test al, al
je 0x43fe8c
cmp byte [ebp - 0x14], 0
je 0x43f9c4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447024
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435a08
jmp 0x43fe8c
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xc], 0xd
jne 0x43f9ec
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 0x43fe7f
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 0x43fe7f
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c938
test al, al
je 0x43fe8c
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0xc], 0x15
je 0x43fa42
cmp byte [ebp - 8], 0
je 0x43fa33
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447024
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00435a08
jmp 0x43fe8c
mov eax, dword [ebp - 0x10]
mov esi, dword [eax]
cmp byte [ebp - 8], 0
je 0x43fa58
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447024
test esi, esi
jne 0x43fa90
mov eax, dword [ebp - 0x10]
add eax, 8
cmp dword [eax], 0
je 0x43fa90
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.00445a64
test al, al
je 0x43fe8c
jmp 0x43fe7f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp esi, dword [eax + 0xc]
jae 0x43faa3
mov eax, dword [ebp - 4]
cmp esi, dword [eax + 0x48]
jne 0x43fab2
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.00435a08
jmp 0x43fe8c
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, 0x431fd8
jne 0x43faf8
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 0x43fe7f
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.00435a08
jmp 0x43fe7f
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00447084
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 0x43fe7f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43fb84
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435a08
jmp 0x43fe8c
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.0043c938
test al, al
je 0x43fe8c
cmp byte [ebp - 0x20], 0
je 0x43fc53
mov eax, dword [ebp - 0x24]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43fbd2
sub al, 2
je 0x43fbd2
sub al, 6
je 0x43fbd2
sub al, 4
jne 0x43fbdd
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
call fcn.00433b18
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 0x43fc16
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431c40
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 0x43fc44
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446e30
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435a08
jmp 0x43fe8c
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c938
test al, al
je 0x43fe8c
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c938
test al, al
jne 0x43fd2c
cmp byte [ebp - 0x14], 0
je 0x43fe8c
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43fc9f
sub al, 2
je 0x43fc9f
sub al, 6
je 0x43fc9f
sub al, 4
jne 0x43fcaa
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00433b18
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 0x43fcf5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431c40
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 0x43fe8c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446e30
jmp 0x43fe8c
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.00437ac4
cmp byte [ebp - 8], 0
je 0x43fddf
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43fd6d
sub al, 2
je 0x43fd6d
sub al, 6
je 0x43fd6d
sub al, 4
jne 0x43fd78
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.00433b18
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 0x43fdb1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431c40
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 0x43fddf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446e30
cmp byte [ebp - 0x14], 0
je 0x43fe7f
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43fe01
sub al, 2
je 0x43fe01
sub al, 6
je 0x43fe01
sub al, 4
jne 0x43fe0c
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00433b18
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 0x43fe45
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431c40
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 0x43fe7f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446e30
jmp 0x43fe7f
mov dl, 5
mov eax, dword [ebp - 4]
call fcn.00435a08
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x43de8f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x43fea5
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x43de83
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x43fee9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x43fece
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00447024
dec esi
cmp esi, 0xffffffff
jne 0x43febd
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 0x43fee9
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