Function at 0x43d2d0
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 0x43d323
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x43d319
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 0x43d2fb
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 0x43d353
sub al, 2
je 0x43d3dc
jmp 0x43d3e5
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
jne 0x43d363
xor ebx, ebx
jmp 0x43f473
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x48]
mov eax, dword [eax + edx*4]
mov edx, dword [ebp - 4]
mov dword [edx + 0x50], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
call fcn.00402ab4
cmp eax, 0x4315c0
jne 0x43d3aa
mov dl, 7
mov eax, dword [ebp - 4]
call fcn.00434ff0
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 1
jmp 0x43f473
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 0x43d3ec
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x43d3ec
xor ebx, ebx
jmp 0x43f473
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.0043d2b0
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x43f3ff
cmp dword [ebp - 0x34], 0
je 0x43d41b
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 0x43d438
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ff0
jmp 0x43f40c
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 0x43d4a1
je 0x43eec2
cmp eax, 0xd
ja case.default.0x43d4b8
jmp dword [eax*4 + 0x43d469]
cmp eax, 0x15
jg 0x43d4d7
je 0x43e4c2
add eax, 0xfffffff1
cmp eax, 5
ja case.default.0x43d4b8
jmp dword [eax*4 + 0x43d4bf]
cmp eax, 0x19
jg 0x43d4fe
je 0x43df21
sub eax, 0x16
je 0x43ebc4
dec eax
je 0x43ee11
dec eax
je 0x43ed60
jmp case.default.0x43d4b8
sub eax, 0x1a
je 0x43df6e
sub eax, 0xe5
je 0x43f3ff
jmp case.default.0x43d4b8
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043beb8
test al, al
je 0x43f40c
cmp byte [ebp - 8], 0
je 0x43d5cf
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43d54e
sub al, 2
je 0x43d54e
sub al, 6
je 0x43d54e
sub al, 4
jne 0x43d559
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.00433100
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 0x43d592
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431228
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 0x43d5c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004463b0
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00434ff0
jmp 0x43f40c
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043beb8
test al, al
je 0x43f40c
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.004363cc
test al, al
jne 0x43d6b1
cmp byte [ebp - 0x14], 0
je 0x43f40c
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43d624
sub al, 2
je 0x43d624
sub al, 6
je 0x43d624
sub al, 4
jne 0x43d62f
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00433100
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 0x43d67a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431228
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 0x43f40c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004463b0
jmp 0x43f40c
cmp byte [ebp - 0x14], 0
je 0x43f3ff
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43d6d3
sub al, 2
je 0x43d6d3
sub al, 6
je 0x43d6d3
sub al, 4
jne 0x43d6de
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00433100
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 0x43d717
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431228
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 0x43f3ff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004463b0
jmp 0x43f3ff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43d76b
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ff0
jmp 0x43f40c
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.0043beb8
test al, al
je 0x43f40c
cmp byte [ebp - 8], 0
je 0x43d83a
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43d7b9
sub al, 2
je 0x43d7b9
sub al, 6
je 0x43d7b9
sub al, 4
jne 0x43d7c4
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.00433100
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 0x43d7fd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431228
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 0x43d82b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004463b0
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00434ff0
jmp 0x43f40c
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043beb8
test al, al
je 0x43f40c
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.00438c60
test al, al
jne 0x43d91d
cmp byte [ebp - 0x14], 0
je 0x43f40c
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43d890
sub al, 2
je 0x43d890
sub al, 6
je 0x43d890
sub al, 4
jne 0x43d89b
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00433100
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 0x43d8e6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431228
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 0x43f40c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004463b0
jmp 0x43f40c
cmp byte [ebp - 0x14], 0
je 0x43f3ff
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43d93f
sub al, 2
je 0x43d93f
sub al, 6
je 0x43d93f
sub al, 4
jne 0x43d94a
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00433100
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 0x43d983
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431228
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 0x43f3ff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004463b0
jmp 0x43f3ff
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043beb8
test al, al
je 0x43f40c
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004465e4
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.004363cc
test al, al
jne 0x43dabd
cmp byte [ebp - 0x14], 0
je 0x43f40c
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43da30
sub al, 2
je 0x43da30
sub al, 6
je 0x43da30
sub al, 4
jne 0x43da3b
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00433100
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 0x43da86
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431228
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 0x43f40c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004463b0
jmp 0x43f40c
cmp byte [ebp - 0x14], 0
je 0x43f3ff
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43dadf
sub al, 2
je 0x43dadf
sub al, 6
je 0x43dadf
sub al, 4
jne 0x43daea
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00433100
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 0x43db23
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431228
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 0x43f3ff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004463b0
jmp 0x43f3ff
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043beb8
test al, al
je 0x43f40c
cmp byte [ebp - 0x14], 0
je 0x43db8f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446584
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00434ff0
jmp 0x43f40c
mov dl, 0xd
mov eax, dword [ebp - 4]
call fcn.0043cee4
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004465e4
mov esi, eax
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xc], 0xd
jne 0x43dbce
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 0x43f3ff
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 0x43f3ff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
cmp dword [eax + 0xc], 0
jne 0x43dbff
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.00434ff0
jmp 0x43f40c
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 0x43dc1b
mov eax, dword [esi]
cmp byte [eax + 0xc], 0
jne 0x43dc2a
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.00434ff0
jmp 0x43f40c
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 0x43dc56
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00431228
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 0x43dc81
sub al, 2
je 0x43dc81
sub al, 6
je 0x43dc81
sub al, 4
jne 0x43dc8d
mov edx, dword [esi]
mov eax, esi
add eax, 4
call fcn.00433100
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 0x43f3ff
call fcn.004463b0
jmp 0x43f3ff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43dccf
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ff0
jmp 0x43f40c
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 0x43dd00
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.00434ff0
jmp 0x43f40c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 4]
mov ebx, dword [eax + esi*4]
mov eax, ebx
call fcn.00402ab4
cmp eax, 0x4315c0
jne 0x43dea1
xor eax, eax
push ebp
push 0x43dd72
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 0x43dd65
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x43dd58
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.00434ff0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x43f40c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x43f3ff
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004465e4
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 0x43f3ff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446584
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43df4c
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ff0
jmp 0x43f40c
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 0x43f3ff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446584
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446584
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43dfa4
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ff0
jmp 0x43f40c
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 0x43f3ff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43dfe6
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ff0
jmp 0x43f40c
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 0x43f3ff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e028
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ff0
jmp 0x43f40c
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.0043beb8
test al, al
je 0x43f40c
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43e062.0
jmp dword [eax*4 + 0x43e069]
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
setne bl
jmp 0x43e0ed
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
setne bl
jmp 0x43e0ed
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
setne bl
jmp 0x43e0ed
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
setne bl
jmp 0x43e0ed
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
setne bl
jmp 0x43e0ed
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
setne bl
jmp 0x43e0ed
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00434ff0
cmp byte [ebp - 0x14], 0
je 0x43f40c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446584
jmp 0x43f40c
cmp byte [ebp - 0x14], 0
je 0x43e0fe
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446584
test bl, bl
je 0x43f3ff
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x43f3ff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e131
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ff0
jmp 0x43f40c
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.0043beb8
test al, al
je 0x43f40c
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43e16b.0
jmp dword [eax*4 + 0x43e172]
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
sete bl
jmp 0x43e1f6
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
sete bl
jmp 0x43e1f6
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
sete bl
jmp 0x43e1f6
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
sete bl
jmp 0x43e1f6
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
sete bl
jmp 0x43e1f6
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
sete bl
jmp 0x43e1f6
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00434ff0
cmp byte [ebp - 0x14], 0
je 0x43f40c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446584
jmp 0x43f40c
cmp byte [ebp - 0x14], 0
je 0x43e207
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446584
test bl, bl
je 0x43f3ff
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x43f3ff
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 0x43e339
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 0x43e316
cmp dword [ebx + 0x10], 0xfffffffe
jne 0x43e26d
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 0x43e29b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebx + 8]
jbe 0x43e29b
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 0x43e29b
dec edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446584
inc edi
jne 0x43e28d
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
mov eax, dword [ebx + 0xc]
cmp eax, 0xffffffff
je 0x43e2c0
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0xc], 0xffffffff
mov esi, 1
jmp 0x43e339
cmp dword [ebx + 0x14], 0xffffffff
je 0x43e2dd
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
mov esi, 1
jmp 0x43e339
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.004312d0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x43e339
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 0x43e251
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
jbe 0x43e339
cmp eax, 0xffffffff
jne 0x43e251
test esi, esi
jne 0x43f3ff
mov dword [ebp - 0x2c], 0xffffffff
mov eax, dword [ebp - 4]
cmp dword [eax + 0x60], 0xffffffff
jne 0x43e35f
mov al, byte [ebp - 0x2d]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x43f40c
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 0x43e383
dec edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446584
inc edi
jne 0x43e375
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 0x43e3a2
mov al, byte [ebp - 0x2d]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x43f40c
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.00446584
mov eax, dword [ebp - 4]
cmp dword [eax + 0x50], 0
jne 0x43e3f1
mov al, byte [ebp - 0x2d]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x43f40c
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 0x43f3ff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e434
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ff0
jmp 0x43f40c
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 0x43e465
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00434ff0
jmp 0x43f40c
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.004465e4
jmp 0x43f3ff
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043beb8
test al, al
je 0x43f40c
cmp byte [ebp - 8], 0
je 0x43e4a7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446584
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0043c978
test al, al
je 0x43f40c
jmp 0x43f3ff
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043beb8
test al, al
je 0x43f40c
cmp byte [ebp - 8], 0
je 0x43e4e8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446584
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0043d1c8
test al, al
je 0x43f40c
jmp 0x43f3ff
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043beb8
test al, al
je 0x43f40c
cmp byte [ebp - 8], 0
je 0x43e529
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446584
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0043c844
test al, al
je 0x43f40c
jmp 0x43f3ff
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043beb8
test al, al
je 0x43f40c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43e58b
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ff0
cmp byte [ebp - 8], 0
je 0x43f40c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446584
jmp 0x43f40c
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.0x43e5b1.0
jmp dword [eax*4 + 0x43e5b8]
mov eax, dword [ebp - 0x10]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43e660
mov eax, dword [ebp - 0x10]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43e660
mov eax, dword [ebp - 0x10]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43e660
mov eax, dword [ebp - 0x10]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43e660
mov eax, dword [ebp - 0x10]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43e660
mov eax, dword [ebp - 0x10]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43e660
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00434ff0
cmp byte [ebp - 8], 0
je 0x43f40c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446584
jmp 0x43f40c
test esi, esi
je 0x43e672
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 0x43f3ff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446584
jmp 0x43f3ff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e6ac
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ff0
jmp 0x43f40c
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 0x43f3ff
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x43f3ff
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.0043caf0
test al, al
jne 0x43e72e
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ff0
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
jmp 0x43f40c
lea edx, [ebx + 0x10]
mov eax, dword [ebp - 4]
call fcn.0043caf0
test al, al
jne 0x43e758
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ff0
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
jmp 0x43f40c
lea edx, [ebx + 0x14]
mov eax, dword [ebp - 4]
call fcn.0043caf0
test al, al
jne 0x43e782
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ff0
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
jmp 0x43f40c
lea edx, [ebx + 0x18]
mov eax, dword [ebp - 4]
call fcn.0043caf0
test al, al
jne 0x43e7ac
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ff0
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
jmp 0x43f40c
cmp dword [ebx + 0xc], 0xffffffff
je 0x43e7bb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0xc], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x43e7ca
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x10], eax
cmp dword [ebx + 0x14], 0xffffffff
je 0x43e7d9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x14], eax
cmp dword [ebx + 0x18], 0xffffffff
je 0x43e7e8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x18], eax
cmp dword [ebx + 0xc], 0xffffffff
je 0x43e7f9
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x43e82c
cmp dword [ebx + 0x10], 0xffffffff
je 0x43e80a
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x43e82c
cmp dword [ebx + 0x14], 0xffffffff
je 0x43e81b
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x43e82c
cmp dword [ebx + 0x18], 0xffffffff
je 0x43e847
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43e847
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ff0
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
jmp 0x43f40c
mov edx, ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.00431288
jmp 0x43f3ff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43e876
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ff0
jmp 0x43f40c
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 0x43e95d
je 0x43ea37
dec esi
je 0x43e8aa
dec esi
je 0x43eb20
jmp 0x43f3ff
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 0x43e8d9
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ff0
jmp 0x43f40c
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 0x43e902
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ff0
jmp 0x43f40c
mov dword [ebx + 0x10], 0xffffffff
cmp dword [ebx + 0x14], 0xffffffff
je 0x43e924
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x43f3ff
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.004312d0
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43e952
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x43f3ff
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x43f3ff
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 0x43e986
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ff0
jmp 0x43f40c
cmp dword [ebx + 0xc], 0xffffffff
je 0x43e9a1
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0xc], 0xffffffff
jmp 0x43f3ff
cmp dword [ebx + 0x14], 0xffffffff
je 0x43e9bc
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xffffffff
jmp 0x43f3ff
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.004312d0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43ea18
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 0x43f3ff
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43ea2c
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x43f3ff
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x43f3ff
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 0x43ea60
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ff0
jmp 0x43f40c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43ea8a
cmp dword [ebx + 0x10], 0xffffffff
je 0x43ea8a
cmp dword [ebx + 0x10], 0xfffffffe
je 0x43ea8a
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xfffffffe
jmp 0x43f3ff
cmp dword [ebx + 0x14], 0xffffffff
je 0x43eaa5
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x43f3ff
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.004312d0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43eb01
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 0x43f3ff
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43eb15
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x43f3ff
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x43f3ff
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 0x43eb49
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ff0
jmp 0x43f40c
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.004312d0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43eba5
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 0x43f3ff
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43ebb9
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x43f3ff
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x43f3ff
lea edx, [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043beb8
test al, al
je 0x43f40c
cmp byte [ebp - 8], 0
je 0x43ebf9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446584
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00434ff0
jmp 0x43f40c
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0xc], 0xd
je 0x43ec11
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00434ff0
jmp 0x43f40c
lea edx, [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043beb8
test al, al
je 0x43f40c
mov eax, dword [ebp - 0x10]
add eax, 8
cmp dword [eax], 0
je 0x43ec43
mov eax, dword [ebp - 0x10]
add eax, 4
mov edx, dword [eax]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
call fcn.0043331c
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xc], 0xd
jne 0x43ece8
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
je 0x43eccb
mov eax, dword [ebp - 0x1c]
add eax, 4
mov eax, dword [eax]
call fcn.00433300
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.00435bd0
test al, al
jne 0x43ed46
cmp byte [ebp - 0x14], 0
je 0x43ecbc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446584
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00434ff0
jmp 0x43f40c
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 0x43ed46
mov eax, dword [ebp - 0x18]
call fcn.00433300
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.00435bd0
test al, al
jne 0x43ed46
cmp byte [ebp - 0x14], 0
je 0x43ed37
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446584
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00434ff0
jmp 0x43f40c
cmp byte [ebp - 0x14], 0
je 0x43f3ff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446584
jmp 0x43f3ff
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043beb8
test al, al
je 0x43f40c
cmp byte [ebp - 8], 0
je 0x43ed95
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446584
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00434ff0
jmp 0x43f40c
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43eda1.0
jmp dword [eax*4 + 0x43eda8]
mov eax, dword [ebp - 0x10]
dec byte [eax]
jmp 0x43f3ff
mov eax, dword [ebp - 0x10]
dec byte [eax]
jmp 0x43f3ff
mov eax, dword [ebp - 0x10]
dec word [eax]
jmp 0x43f3ff
mov eax, dword [ebp - 0x10]
dec word [eax]
jmp 0x43f3ff
mov eax, dword [ebp - 0x10]
dec dword [eax]
jmp 0x43f3ff
mov eax, dword [ebp - 0x10]
dec dword [eax]
jmp 0x43f3ff
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00434ff0
jmp 0x43f40c
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043beb8
test al, al
je 0x43f40c
cmp byte [ebp - 8], 0
je 0x43ee46
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446584
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00434ff0
jmp 0x43f40c
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43ee52.0
jmp dword [eax*4 + 0x43ee59]
mov eax, dword [ebp - 0x10]
inc byte [eax]
jmp 0x43f3ff
mov eax, dword [ebp - 0x10]
inc byte [eax]
jmp 0x43f3ff
mov eax, dword [ebp - 0x10]
inc word [eax]
jmp 0x43f3ff
mov eax, dword [ebp - 0x10]
inc word [eax]
jmp 0x43f3ff
mov eax, dword [ebp - 0x10]
inc dword [eax]
jmp 0x43f3ff
mov eax, dword [ebp - 0x10]
inc dword [eax]
jmp 0x43f3ff
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00434ff0
jmp 0x43f40c
lea edx, [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043beb8
test al, al
je 0x43f40c
cmp byte [ebp - 8], 0
je 0x43eef7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446584
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00434ff0
jmp 0x43f40c
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0xc], 0xd
je 0x43ef0f
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00434ff0
jmp 0x43f40c
lea edx, [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043beb8
test al, al
je 0x43f40c
cmp byte [ebp - 0x14], 0
je 0x43ef44
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446584
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00434ff0
jmp 0x43f40c
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xc], 0xd
jne 0x43ef6c
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 0x43f3ff
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 0x43f3ff
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043beb8
test al, al
je 0x43f40c
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0xc], 0x15
je 0x43efc2
cmp byte [ebp - 8], 0
je 0x43efb3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446584
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00434ff0
jmp 0x43f40c
mov eax, dword [ebp - 0x10]
mov esi, dword [eax]
cmp byte [ebp - 8], 0
je 0x43efd8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446584
test esi, esi
jne 0x43f010
mov eax, dword [ebp - 0x10]
add eax, 8
cmp dword [eax], 0
je 0x43f010
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.00444fe4
test al, al
je 0x43f40c
jmp 0x43f3ff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp esi, dword [eax + 0xc]
jae 0x43f023
mov eax, dword [ebp - 4]
cmp esi, dword [eax + 0x48]
jne 0x43f032
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.00434ff0
jmp 0x43f40c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 4]
mov ebx, dword [eax + esi*4]
mov eax, ebx
call fcn.00402ab4
cmp eax, 0x4315c0
jne 0x43f078
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 0x43f3ff
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.00434ff0
jmp 0x43f3ff
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004465e4
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 0x43f3ff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43f104
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ff0
jmp 0x43f40c
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.0043beb8
test al, al
je 0x43f40c
cmp byte [ebp - 0x20], 0
je 0x43f1d3
mov eax, dword [ebp - 0x24]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43f152
sub al, 2
je 0x43f152
sub al, 6
je 0x43f152
sub al, 4
jne 0x43f15d
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
call fcn.00433100
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 0x43f196
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431228
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 0x43f1c4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004463b0
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00434ff0
jmp 0x43f40c
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043beb8
test al, al
je 0x43f40c
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043beb8
test al, al
jne 0x43f2ac
cmp byte [ebp - 0x14], 0
je 0x43f40c
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43f21f
sub al, 2
je 0x43f21f
sub al, 6
je 0x43f21f
sub al, 4
jne 0x43f22a
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00433100
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 0x43f275
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431228
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 0x43f40c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004463b0
jmp 0x43f40c
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.00437044
cmp byte [ebp - 8], 0
je 0x43f35f
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43f2ed
sub al, 2
je 0x43f2ed
sub al, 6
je 0x43f2ed
sub al, 4
jne 0x43f2f8
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.00433100
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 0x43f331
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431228
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 0x43f35f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004463b0
cmp byte [ebp - 0x14], 0
je 0x43f3ff
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43f381
sub al, 2
je 0x43f381
sub al, 6
je 0x43f381
sub al, 4
jne 0x43f38c
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00433100
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 0x43f3c5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431228
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 0x43f3ff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004463b0
jmp 0x43f3ff
mov dl, 5
mov eax, dword [ebp - 4]
call fcn.00434ff0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x43d40f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x43f425
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x43d403
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x43f469
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x43f44e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446584
dec esi
cmp esi, 0xffffffff
jne 0x43f43d
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 0x43f469
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