Function at 0x43e1f0
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 0x43e243
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x43e239
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 0x43e21b
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 0x43e273
sub al, 2
je 0x43e2fc
jmp 0x43e305
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
jne 0x43e283
xor ebx, ebx
jmp 0x440393
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, 0x432478
jne 0x43e2ca
mov dl, 7
mov eax, dword [ebp - 4]
call fcn.00435ea8
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 1
jmp 0x440393
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 0x43e30c
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x43e30c
xor ebx, ebx
jmp 0x440393
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.0043e1d0
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x44031f
cmp dword [ebp - 0x34], 0
je 0x43e33b
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 0x43e358
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ea8
jmp 0x44032c
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 0x43e3c1
je 0x43fde2
cmp eax, 0xd
ja case.default.0x43e3d8
jmp dword [eax*4 + 0x43e389]
cmp eax, 0x15
jg 0x43e3f7
je 0x43f3e2
add eax, 0xfffffff1
cmp eax, 5
ja case.default.0x43e3d8
jmp dword [eax*4 + 0x43e3df]
cmp eax, 0x19
jg 0x43e41e
je 0x43ee41
sub eax, 0x16
je 0x43fae4
dec eax
je 0x43fd31
dec eax
je 0x43fc80
jmp case.default.0x43e3d8
sub eax, 0x1a
je 0x43ee8e
sub eax, 0xe5
je 0x44031f
jmp case.default.0x43e3d8
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043cdd8
test al, al
je 0x44032c
cmp byte [ebp - 8], 0
je 0x43e4ef
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43e46e
sub al, 2
je 0x43e46e
sub al, 6
je 0x43e46e
sub al, 4
jne 0x43e479
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.00433fb8
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 0x43e4b2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004320e0
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 0x43e4e0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004472d0
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435ea8
jmp 0x44032c
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043cdd8
test al, al
je 0x44032c
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.004372ec
test al, al
jne 0x43e5d1
cmp byte [ebp - 0x14], 0
je 0x44032c
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43e544
sub al, 2
je 0x43e544
sub al, 6
je 0x43e544
sub al, 4
jne 0x43e54f
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00433fb8
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 0x43e59a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004320e0
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 0x44032c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004472d0
jmp 0x44032c
cmp byte [ebp - 0x14], 0
je 0x44031f
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43e5f3
sub al, 2
je 0x43e5f3
sub al, 6
je 0x43e5f3
sub al, 4
jne 0x43e5fe
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00433fb8
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 0x43e637
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004320e0
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 0x44031f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004472d0
jmp 0x44031f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43e68b
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ea8
jmp 0x44032c
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.0043cdd8
test al, al
je 0x44032c
cmp byte [ebp - 8], 0
je 0x43e75a
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43e6d9
sub al, 2
je 0x43e6d9
sub al, 6
je 0x43e6d9
sub al, 4
jne 0x43e6e4
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.00433fb8
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 0x43e71d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004320e0
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 0x43e74b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004472d0
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435ea8
jmp 0x44032c
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043cdd8
test al, al
je 0x44032c
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.00439b80
test al, al
jne 0x43e83d
cmp byte [ebp - 0x14], 0
je 0x44032c
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43e7b0
sub al, 2
je 0x43e7b0
sub al, 6
je 0x43e7b0
sub al, 4
jne 0x43e7bb
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00433fb8
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 0x43e806
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004320e0
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 0x44032c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004472d0
jmp 0x44032c
cmp byte [ebp - 0x14], 0
je 0x44031f
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43e85f
sub al, 2
je 0x43e85f
sub al, 6
je 0x43e85f
sub al, 4
jne 0x43e86a
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00433fb8
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 0x43e8a3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004320e0
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 0x44031f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004472d0
jmp 0x44031f
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043cdd8
test al, al
je 0x44032c
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00447524
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.004372ec
test al, al
jne 0x43e9dd
cmp byte [ebp - 0x14], 0
je 0x44032c
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43e950
sub al, 2
je 0x43e950
sub al, 6
je 0x43e950
sub al, 4
jne 0x43e95b
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00433fb8
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 0x43e9a6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004320e0
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 0x44032c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004472d0
jmp 0x44032c
cmp byte [ebp - 0x14], 0
je 0x44031f
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43e9ff
sub al, 2
je 0x43e9ff
sub al, 6
je 0x43e9ff
sub al, 4
jne 0x43ea0a
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00433fb8
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 0x43ea43
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004320e0
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 0x44031f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004472d0
jmp 0x44031f
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043cdd8
test al, al
je 0x44032c
cmp byte [ebp - 0x14], 0
je 0x43eaaf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004474c4
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435ea8
jmp 0x44032c
mov dl, 0xd
mov eax, dword [ebp - 4]
call fcn.0043de04
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00447524
mov esi, eax
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xc], 0xd
jne 0x43eaee
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 0x44031f
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 0x44031f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
cmp dword [eax + 0xc], 0
jne 0x43eb1f
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.00435ea8
jmp 0x44032c
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 0x43eb3b
mov eax, dword [esi]
cmp byte [eax + 0xc], 0
jne 0x43eb4a
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.00435ea8
jmp 0x44032c
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 0x43eb76
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004320e0
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 0x43eba1
sub al, 2
je 0x43eba1
sub al, 6
je 0x43eba1
sub al, 4
jne 0x43ebad
mov edx, dword [esi]
mov eax, esi
add eax, 4
call fcn.00433fb8
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 0x44031f
call fcn.004472d0
jmp 0x44031f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43ebef
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ea8
jmp 0x44032c
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 0x43ec20
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.00435ea8
jmp 0x44032c
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, 0x432478
jne 0x43edc1
xor eax, eax
push ebp
push 0x43ec92
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 0x43ec85
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x43ec78
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.00435ea8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44032c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44031f
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00447524
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 0x44031f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004474c4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43ee6c
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ea8
jmp 0x44032c
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 0x44031f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004474c4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004474c4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43eec4
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ea8
jmp 0x44032c
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 0x44031f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43ef06
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ea8
jmp 0x44032c
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 0x44031f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43ef48
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ea8
jmp 0x44032c
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.0043cdd8
test al, al
je 0x44032c
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43ef82.0
jmp dword [eax*4 + 0x43ef89]
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
setne bl
jmp 0x43f00d
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
setne bl
jmp 0x43f00d
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
setne bl
jmp 0x43f00d
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
setne bl
jmp 0x43f00d
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
setne bl
jmp 0x43f00d
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
setne bl
jmp 0x43f00d
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00435ea8
cmp byte [ebp - 0x14], 0
je 0x44032c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004474c4
jmp 0x44032c
cmp byte [ebp - 0x14], 0
je 0x43f01e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004474c4
test bl, bl
je 0x44031f
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x44031f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43f051
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ea8
jmp 0x44032c
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.0043cdd8
test al, al
je 0x44032c
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43f08b.0
jmp dword [eax*4 + 0x43f092]
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
sete bl
jmp 0x43f116
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
sete bl
jmp 0x43f116
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
sete bl
jmp 0x43f116
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
sete bl
jmp 0x43f116
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
sete bl
jmp 0x43f116
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
sete bl
jmp 0x43f116
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00435ea8
cmp byte [ebp - 0x14], 0
je 0x44032c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004474c4
jmp 0x44032c
cmp byte [ebp - 0x14], 0
je 0x43f127
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004474c4
test bl, bl
je 0x44031f
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x44031f
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 0x43f259
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 0x43f236
cmp dword [ebx + 0x10], 0xfffffffe
jne 0x43f18d
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 0x43f1bb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebx + 8]
jbe 0x43f1bb
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 0x43f1bb
dec edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004474c4
inc edi
jne 0x43f1ad
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
mov eax, dword [ebx + 0xc]
cmp eax, 0xffffffff
je 0x43f1e0
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0xc], 0xffffffff
mov esi, 1
jmp 0x43f259
cmp dword [ebx + 0x14], 0xffffffff
je 0x43f1fd
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
mov esi, 1
jmp 0x43f259
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.00432188
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x43f259
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 0x43f171
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
jbe 0x43f259
cmp eax, 0xffffffff
jne 0x43f171
test esi, esi
jne 0x44031f
mov dword [ebp - 0x2c], 0xffffffff
mov eax, dword [ebp - 4]
cmp dword [eax + 0x60], 0xffffffff
jne 0x43f27f
mov al, byte [ebp - 0x2d]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x44032c
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 0x43f2a3
dec edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004474c4
inc edi
jne 0x43f295
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 0x43f2c2
mov al, byte [ebp - 0x2d]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x44032c
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.004474c4
mov eax, dword [ebp - 4]
cmp dword [eax + 0x50], 0
jne 0x43f311
mov al, byte [ebp - 0x2d]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x44032c
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 0x44031f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43f354
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ea8
jmp 0x44032c
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 0x43f385
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00435ea8
jmp 0x44032c
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.00447524
jmp 0x44031f
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043cdd8
test al, al
je 0x44032c
cmp byte [ebp - 8], 0
je 0x43f3c7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004474c4
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0043d898
test al, al
je 0x44032c
jmp 0x44031f
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043cdd8
test al, al
je 0x44032c
cmp byte [ebp - 8], 0
je 0x43f408
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004474c4
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0043e0e8
test al, al
je 0x44032c
jmp 0x44031f
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043cdd8
test al, al
je 0x44032c
cmp byte [ebp - 8], 0
je 0x43f449
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004474c4
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0043d764
test al, al
je 0x44032c
jmp 0x44031f
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043cdd8
test al, al
je 0x44032c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43f4ab
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ea8
cmp byte [ebp - 8], 0
je 0x44032c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004474c4
jmp 0x44032c
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.0x43f4d1.0
jmp dword [eax*4 + 0x43f4d8]
mov eax, dword [ebp - 0x10]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43f580
mov eax, dword [ebp - 0x10]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43f580
mov eax, dword [ebp - 0x10]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43f580
mov eax, dword [ebp - 0x10]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43f580
mov eax, dword [ebp - 0x10]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43f580
mov eax, dword [ebp - 0x10]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43f580
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00435ea8
cmp byte [ebp - 8], 0
je 0x44032c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004474c4
jmp 0x44032c
test esi, esi
je 0x43f592
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 0x44031f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004474c4
jmp 0x44031f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43f5cc
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ea8
jmp 0x44032c
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 0x44031f
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x44031f
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.0043da10
test al, al
jne 0x43f64e
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ea8
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
jmp 0x44032c
lea edx, [ebx + 0x10]
mov eax, dword [ebp - 4]
call fcn.0043da10
test al, al
jne 0x43f678
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ea8
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
jmp 0x44032c
lea edx, [ebx + 0x14]
mov eax, dword [ebp - 4]
call fcn.0043da10
test al, al
jne 0x43f6a2
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ea8
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
jmp 0x44032c
lea edx, [ebx + 0x18]
mov eax, dword [ebp - 4]
call fcn.0043da10
test al, al
jne 0x43f6cc
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ea8
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
jmp 0x44032c
cmp dword [ebx + 0xc], 0xffffffff
je 0x43f6db
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0xc], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x43f6ea
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x10], eax
cmp dword [ebx + 0x14], 0xffffffff
je 0x43f6f9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x14], eax
cmp dword [ebx + 0x18], 0xffffffff
je 0x43f708
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x18], eax
cmp dword [ebx + 0xc], 0xffffffff
je 0x43f719
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x43f74c
cmp dword [ebx + 0x10], 0xffffffff
je 0x43f72a
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x43f74c
cmp dword [ebx + 0x14], 0xffffffff
je 0x43f73b
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x43f74c
cmp dword [ebx + 0x18], 0xffffffff
je 0x43f767
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43f767
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ea8
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
jmp 0x44032c
mov edx, ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.00432140
jmp 0x44031f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43f796
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ea8
jmp 0x44032c
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 0x43f87d
je 0x43f957
dec esi
je 0x43f7ca
dec esi
je 0x43fa40
jmp 0x44031f
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 0x43f7f9
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ea8
jmp 0x44032c
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 0x43f822
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ea8
jmp 0x44032c
mov dword [ebx + 0x10], 0xffffffff
cmp dword [ebx + 0x14], 0xffffffff
je 0x43f844
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x44031f
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.00432188
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43f872
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x44031f
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x44031f
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 0x43f8a6
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ea8
jmp 0x44032c
cmp dword [ebx + 0xc], 0xffffffff
je 0x43f8c1
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0xc], 0xffffffff
jmp 0x44031f
cmp dword [ebx + 0x14], 0xffffffff
je 0x43f8dc
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xffffffff
jmp 0x44031f
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.00432188
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43f938
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 0x44031f
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43f94c
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x44031f
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x44031f
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 0x43f980
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ea8
jmp 0x44032c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43f9aa
cmp dword [ebx + 0x10], 0xffffffff
je 0x43f9aa
cmp dword [ebx + 0x10], 0xfffffffe
je 0x43f9aa
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xfffffffe
jmp 0x44031f
cmp dword [ebx + 0x14], 0xffffffff
je 0x43f9c5
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x44031f
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.00432188
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43fa21
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 0x44031f
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43fa35
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x44031f
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x44031f
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 0x43fa69
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ea8
jmp 0x44032c
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.00432188
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43fac5
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 0x44031f
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43fad9
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x44031f
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x44031f
lea edx, [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043cdd8
test al, al
je 0x44032c
cmp byte [ebp - 8], 0
je 0x43fb19
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004474c4
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435ea8
jmp 0x44032c
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0xc], 0xd
je 0x43fb31
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435ea8
jmp 0x44032c
lea edx, [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043cdd8
test al, al
je 0x44032c
mov eax, dword [ebp - 0x10]
add eax, 8
cmp dword [eax], 0
je 0x43fb63
mov eax, dword [ebp - 0x10]
add eax, 4
mov edx, dword [eax]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
call fcn.004341d4
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xc], 0xd
jne 0x43fc08
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
je 0x43fbeb
mov eax, dword [ebp - 0x1c]
add eax, 4
mov eax, dword [eax]
call fcn.004341b8
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.00436af0
test al, al
jne 0x43fc66
cmp byte [ebp - 0x14], 0
je 0x43fbdc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004474c4
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00435ea8
jmp 0x44032c
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 0x43fc66
mov eax, dword [ebp - 0x18]
call fcn.004341b8
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.00436af0
test al, al
jne 0x43fc66
cmp byte [ebp - 0x14], 0
je 0x43fc57
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004474c4
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00435ea8
jmp 0x44032c
cmp byte [ebp - 0x14], 0
je 0x44031f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004474c4
jmp 0x44031f
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043cdd8
test al, al
je 0x44032c
cmp byte [ebp - 8], 0
je 0x43fcb5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004474c4
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435ea8
jmp 0x44032c
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43fcc1.0
jmp dword [eax*4 + 0x43fcc8]
mov eax, dword [ebp - 0x10]
dec byte [eax]
jmp 0x44031f
mov eax, dword [ebp - 0x10]
dec byte [eax]
jmp 0x44031f
mov eax, dword [ebp - 0x10]
dec word [eax]
jmp 0x44031f
mov eax, dword [ebp - 0x10]
dec word [eax]
jmp 0x44031f
mov eax, dword [ebp - 0x10]
dec dword [eax]
jmp 0x44031f
mov eax, dword [ebp - 0x10]
dec dword [eax]
jmp 0x44031f
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00435ea8
jmp 0x44032c
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043cdd8
test al, al
je 0x44032c
cmp byte [ebp - 8], 0
je 0x43fd66
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004474c4
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435ea8
jmp 0x44032c
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43fd72.0
jmp dword [eax*4 + 0x43fd79]
mov eax, dword [ebp - 0x10]
inc byte [eax]
jmp 0x44031f
mov eax, dword [ebp - 0x10]
inc byte [eax]
jmp 0x44031f
mov eax, dword [ebp - 0x10]
inc word [eax]
jmp 0x44031f
mov eax, dword [ebp - 0x10]
inc word [eax]
jmp 0x44031f
mov eax, dword [ebp - 0x10]
inc dword [eax]
jmp 0x44031f
mov eax, dword [ebp - 0x10]
inc dword [eax]
jmp 0x44031f
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00435ea8
jmp 0x44032c
lea edx, [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043cdd8
test al, al
je 0x44032c
cmp byte [ebp - 8], 0
je 0x43fe17
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004474c4
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435ea8
jmp 0x44032c
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0xc], 0xd
je 0x43fe2f
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435ea8
jmp 0x44032c
lea edx, [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043cdd8
test al, al
je 0x44032c
cmp byte [ebp - 0x14], 0
je 0x43fe64
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004474c4
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435ea8
jmp 0x44032c
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xc], 0xd
jne 0x43fe8c
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 0x44031f
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 0x44031f
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043cdd8
test al, al
je 0x44032c
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0xc], 0x15
je 0x43fee2
cmp byte [ebp - 8], 0
je 0x43fed3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004474c4
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00435ea8
jmp 0x44032c
mov eax, dword [ebp - 0x10]
mov esi, dword [eax]
cmp byte [ebp - 8], 0
je 0x43fef8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004474c4
test esi, esi
jne 0x43ff30
mov eax, dword [ebp - 0x10]
add eax, 8
cmp dword [eax], 0
je 0x43ff30
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.00445f04
test al, al
je 0x44032c
jmp 0x44031f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp esi, dword [eax + 0xc]
jae 0x43ff43
mov eax, dword [ebp - 4]
cmp esi, dword [eax + 0x48]
jne 0x43ff52
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.00435ea8
jmp 0x44032c
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, 0x432478
jne 0x43ff98
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 0x44031f
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.00435ea8
jmp 0x44031f
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00447524
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 0x44031f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x440024
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ea8
jmp 0x44032c
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.0043cdd8
test al, al
je 0x44032c
cmp byte [ebp - 0x20], 0
je 0x4400f3
mov eax, dword [ebp - 0x24]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x440072
sub al, 2
je 0x440072
sub al, 6
je 0x440072
sub al, 4
jne 0x44007d
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
call fcn.00433fb8
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 0x4400b6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004320e0
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 0x4400e4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004472d0
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435ea8
jmp 0x44032c
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043cdd8
test al, al
je 0x44032c
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043cdd8
test al, al
jne 0x4401cc
cmp byte [ebp - 0x14], 0
je 0x44032c
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x44013f
sub al, 2
je 0x44013f
sub al, 6
je 0x44013f
sub al, 4
jne 0x44014a
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00433fb8
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 0x440195
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004320e0
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 0x44032c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004472d0
jmp 0x44032c
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.00437f64
cmp byte [ebp - 8], 0
je 0x44027f
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x44020d
sub al, 2
je 0x44020d
sub al, 6
je 0x44020d
sub al, 4
jne 0x440218
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.00433fb8
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 0x440251
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004320e0
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 0x44027f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004472d0
cmp byte [ebp - 0x14], 0
je 0x44031f
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x4402a1
sub al, 2
je 0x4402a1
sub al, 6
je 0x4402a1
sub al, 4
jne 0x4402ac
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00433fb8
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 0x4402e5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004320e0
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 0x44031f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004472d0
jmp 0x44031f
mov dl, 5
mov eax, dword [ebp - 4]
call fcn.00435ea8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x43e32f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x440345
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x43e323
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x440389
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x44036e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004474c4
dec esi
cmp esi, 0xffffffff
jne 0x44035d
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 0x440389
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