Function at 0x43d800
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 0x43d853
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x43d849
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.00402648
dec esi
cmp esi, 0xffffffff
jne 0x43d82b
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 0x43d883
sub al, 2
je 0x43d90c
jmp 0x43d915
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
jne 0x43d893
xor ebx, ebx
jmp 0x43f9a3
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.00402a84
cmp eax, 0x431728
jne 0x43d8da
mov dl, 7
mov eax, dword [ebp - 4]
call fcn.004350d0
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 1
jmp 0x43f9a3
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 0x43d91c
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x43d91c
xor ebx, ebx
jmp 0x43f9a3
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.0043d7e0
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x43f92f
cmp dword [ebp - 0x34], 0
je 0x43d94b
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 0x43d968
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004350d0
jmp 0x43f93c
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 0x43d9d1
je 0x43f3f2
cmp eax, 0xd
ja case.default.0x43d9e8
jmp dword [eax*4 + 0x43d999]
cmp eax, 0x15
jg 0x43da07
je 0x43e9f2
add eax, 0xfffffff1
cmp eax, 5
ja case.default.0x43d9e8
jmp dword [eax*4 + 0x43d9ef]
cmp eax, 0x19
jg 0x43da2e
je 0x43e451
sub eax, 0x16
je 0x43f0f4
dec eax
je 0x43f341
dec eax
je 0x43f290
jmp case.default.0x43d9e8
sub eax, 0x1a
je 0x43e49e
sub eax, 0xe5
je 0x43f92f
jmp case.default.0x43d9e8
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c3e8
test al, al
je 0x43f93c
cmp byte [ebp - 8], 0
je 0x43daff
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43da7e
sub al, 2
je 0x43da7e
sub al, 6
je 0x43da7e
sub al, 4
jne 0x43da89
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.004331e0
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 0x43dac2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431390
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 0x43daf0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004468f8
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004350d0
jmp 0x43f93c
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c3e8
test al, al
je 0x43f93c
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.00436650
test al, al
jne 0x43dbe1
cmp byte [ebp - 0x14], 0
je 0x43f93c
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43db54
sub al, 2
je 0x43db54
sub al, 6
je 0x43db54
sub al, 4
jne 0x43db5f
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.004331e0
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 0x43dbaa
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431390
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 0x43f93c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004468f8
jmp 0x43f93c
cmp byte [ebp - 0x14], 0
je 0x43f92f
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43dc03
sub al, 2
je 0x43dc03
sub al, 6
je 0x43dc03
sub al, 4
jne 0x43dc0e
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.004331e0
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 0x43dc47
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431390
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 0x43f92f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004468f8
jmp 0x43f92f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43dc9b
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004350d0
jmp 0x43f93c
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.0043c3e8
test al, al
je 0x43f93c
cmp byte [ebp - 8], 0
je 0x43dd6a
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43dce9
sub al, 2
je 0x43dce9
sub al, 6
je 0x43dce9
sub al, 4
jne 0x43dcf4
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.004331e0
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 0x43dd2d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431390
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 0x43dd5b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004468f8
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004350d0
jmp 0x43f93c
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c3e8
test al, al
je 0x43f93c
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.00438fa4
test al, al
jne 0x43de4d
cmp byte [ebp - 0x14], 0
je 0x43f93c
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43ddc0
sub al, 2
je 0x43ddc0
sub al, 6
je 0x43ddc0
sub al, 4
jne 0x43ddcb
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.004331e0
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 0x43de16
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431390
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 0x43f93c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004468f8
jmp 0x43f93c
cmp byte [ebp - 0x14], 0
je 0x43f92f
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43de6f
sub al, 2
je 0x43de6f
sub al, 6
je 0x43de6f
sub al, 4
jne 0x43de7a
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.004331e0
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 0x43deb3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431390
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 0x43f92f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004468f8
jmp 0x43f92f
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c3e8
test al, al
je 0x43f93c
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446b4c
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.00436650
test al, al
jne 0x43dfed
cmp byte [ebp - 0x14], 0
je 0x43f93c
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43df60
sub al, 2
je 0x43df60
sub al, 6
je 0x43df60
sub al, 4
jne 0x43df6b
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.004331e0
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 0x43dfb6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431390
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 0x43f93c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004468f8
jmp 0x43f93c
cmp byte [ebp - 0x14], 0
je 0x43f92f
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43e00f
sub al, 2
je 0x43e00f
sub al, 6
je 0x43e00f
sub al, 4
jne 0x43e01a
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.004331e0
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 0x43e053
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431390
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 0x43f92f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004468f8
jmp 0x43f92f
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c3e8
test al, al
je 0x43f93c
cmp byte [ebp - 0x14], 0
je 0x43e0bf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446aec
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004350d0
jmp 0x43f93c
mov dl, 0xd
mov eax, dword [ebp - 4]
call fcn.0043d414
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446b4c
mov esi, eax
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xc], 0xd
jne 0x43e0fe
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 0x43f92f
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 0x43f92f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
cmp dword [eax + 0xc], 0
jne 0x43e12f
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.004350d0
jmp 0x43f93c
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 0x43e14b
mov eax, dword [esi]
cmp byte [eax + 0xc], 0
jne 0x43e15a
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.004350d0
jmp 0x43f93c
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 0x43e186
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00431390
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 0x43e1b1
sub al, 2
je 0x43e1b1
sub al, 6
je 0x43e1b1
sub al, 4
jne 0x43e1bd
mov edx, dword [esi]
mov eax, esi
add eax, 4
call fcn.004331e0
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 0x43f92f
call fcn.004468f8
jmp 0x43f92f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e1ff
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004350d0
jmp 0x43f93c
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 0x43e230
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.004350d0
jmp 0x43f93c
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.00402a84
cmp eax, 0x431728
jne 0x43e3d1
xor eax, eax
push ebp
push 0x43e2a2
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 0x43e295
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x43e288
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.004350d0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x43f93c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x43f92f
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446b4c
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 0x43f92f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446aec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e47c
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004350d0
jmp 0x43f93c
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 0x43f92f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446aec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446aec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e4d4
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004350d0
jmp 0x43f93c
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 0x43f92f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e516
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004350d0
jmp 0x43f93c
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 0x43f92f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e558
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004350d0
jmp 0x43f93c
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.0043c3e8
test al, al
je 0x43f93c
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43e592.0
jmp dword [eax*4 + 0x43e599]
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
setne bl
jmp 0x43e61d
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
setne bl
jmp 0x43e61d
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
setne bl
jmp 0x43e61d
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
setne bl
jmp 0x43e61d
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
setne bl
jmp 0x43e61d
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
setne bl
jmp 0x43e61d
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.004350d0
cmp byte [ebp - 0x14], 0
je 0x43f93c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446aec
jmp 0x43f93c
cmp byte [ebp - 0x14], 0
je 0x43e62e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446aec
test bl, bl
je 0x43f92f
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x43f92f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e661
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004350d0
jmp 0x43f93c
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.0043c3e8
test al, al
je 0x43f93c
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43e69b.0
jmp dword [eax*4 + 0x43e6a2]
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
sete bl
jmp 0x43e726
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
sete bl
jmp 0x43e726
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
sete bl
jmp 0x43e726
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
sete bl
jmp 0x43e726
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
sete bl
jmp 0x43e726
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
sete bl
jmp 0x43e726
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.004350d0
cmp byte [ebp - 0x14], 0
je 0x43f93c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446aec
jmp 0x43f93c
cmp byte [ebp - 0x14], 0
je 0x43e737
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446aec
test bl, bl
je 0x43f92f
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x43f92f
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 0x43e869
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 0x43e846
cmp dword [ebx + 0x10], 0xfffffffe
jne 0x43e79d
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 0x43e7cb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebx + 8]
jbe 0x43e7cb
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 0x43e7cb
dec edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446aec
inc edi
jne 0x43e7bd
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
mov eax, dword [ebx + 0xc]
cmp eax, 0xffffffff
je 0x43e7f0
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0xc], 0xffffffff
mov esi, 1
jmp 0x43e869
cmp dword [ebx + 0x14], 0xffffffff
je 0x43e80d
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
mov esi, 1
jmp 0x43e869
mov edx, 0x1c
mov eax, ebx
call fcn.00402648
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.00431438
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x43e869
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 0x43e781
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
jbe 0x43e869
cmp eax, 0xffffffff
jne 0x43e781
test esi, esi
jne 0x43f92f
mov dword [ebp - 0x2c], 0xffffffff
mov eax, dword [ebp - 4]
cmp dword [eax + 0x60], 0xffffffff
jne 0x43e88f
mov al, byte [ebp - 0x2d]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x43f93c
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 0x43e8b3
dec edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446aec
inc edi
jne 0x43e8a5
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 0x43e8d2
mov al, byte [ebp - 0x2d]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x43f93c
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.00446aec
mov eax, dword [ebp - 4]
cmp dword [eax + 0x50], 0
jne 0x43e921
mov al, byte [ebp - 0x2d]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x43f93c
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 0x43f92f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e964
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004350d0
jmp 0x43f93c
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 0x43e995
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.004350d0
jmp 0x43f93c
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.00446b4c
jmp 0x43f92f
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c3e8
test al, al
je 0x43f93c
cmp byte [ebp - 8], 0
je 0x43e9d7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446aec
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0043cea8
test al, al
je 0x43f93c
jmp 0x43f92f
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c3e8
test al, al
je 0x43f93c
cmp byte [ebp - 8], 0
je 0x43ea18
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446aec
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0043d6f8
test al, al
je 0x43f93c
jmp 0x43f92f
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c3e8
test al, al
je 0x43f93c
cmp byte [ebp - 8], 0
je 0x43ea59
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446aec
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0043cd74
test al, al
je 0x43f93c
jmp 0x43f92f
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c3e8
test al, al
je 0x43f93c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43eabb
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004350d0
cmp byte [ebp - 8], 0
je 0x43f93c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446aec
jmp 0x43f93c
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.0x43eae1.0
jmp dword [eax*4 + 0x43eae8]
mov eax, dword [ebp - 0x10]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43eb90
mov eax, dword [ebp - 0x10]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43eb90
mov eax, dword [ebp - 0x10]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43eb90
mov eax, dword [ebp - 0x10]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43eb90
mov eax, dword [ebp - 0x10]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43eb90
mov eax, dword [ebp - 0x10]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43eb90
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.004350d0
cmp byte [ebp - 8], 0
je 0x43f93c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446aec
jmp 0x43f93c
test esi, esi
je 0x43eba2
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 0x43f92f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446aec
jmp 0x43f92f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43ebdc
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004350d0
jmp 0x43f93c
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 0x43f92f
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x43f92f
mov eax, 0x1c
call fcn.00402630
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.0043d020
test al, al
jne 0x43ec5e
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004350d0
mov edx, 0x1c
mov eax, ebx
call fcn.00402648
jmp 0x43f93c
lea edx, [ebx + 0x10]
mov eax, dword [ebp - 4]
call fcn.0043d020
test al, al
jne 0x43ec88
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004350d0
mov edx, 0x1c
mov eax, ebx
call fcn.00402648
jmp 0x43f93c
lea edx, [ebx + 0x14]
mov eax, dword [ebp - 4]
call fcn.0043d020
test al, al
jne 0x43ecb2
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004350d0
mov edx, 0x1c
mov eax, ebx
call fcn.00402648
jmp 0x43f93c
lea edx, [ebx + 0x18]
mov eax, dword [ebp - 4]
call fcn.0043d020
test al, al
jne 0x43ecdc
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004350d0
mov edx, 0x1c
mov eax, ebx
call fcn.00402648
jmp 0x43f93c
cmp dword [ebx + 0xc], 0xffffffff
je 0x43eceb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0xc], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x43ecfa
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x10], eax
cmp dword [ebx + 0x14], 0xffffffff
je 0x43ed09
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x14], eax
cmp dword [ebx + 0x18], 0xffffffff
je 0x43ed18
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x18], eax
cmp dword [ebx + 0xc], 0xffffffff
je 0x43ed29
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x43ed5c
cmp dword [ebx + 0x10], 0xffffffff
je 0x43ed3a
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x43ed5c
cmp dword [ebx + 0x14], 0xffffffff
je 0x43ed4b
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x43ed5c
cmp dword [ebx + 0x18], 0xffffffff
je 0x43ed77
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43ed77
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004350d0
mov edx, 0x1c
mov eax, ebx
call fcn.00402648
jmp 0x43f93c
mov edx, ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.004313f0
jmp 0x43f92f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43eda6
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004350d0
jmp 0x43f93c
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 0x43ee8d
je 0x43ef67
dec esi
je 0x43edda
dec esi
je 0x43f050
jmp 0x43f92f
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 0x43ee09
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004350d0
jmp 0x43f93c
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 0x43ee32
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004350d0
jmp 0x43f93c
mov dword [ebx + 0x10], 0xffffffff
cmp dword [ebx + 0x14], 0xffffffff
je 0x43ee54
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x43f92f
mov esi, dword [ebx + 0x18]
mov edx, 0x1c
mov eax, ebx
call fcn.00402648
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.00431438
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43ee82
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x43f92f
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x43f92f
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 0x43eeb6
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004350d0
jmp 0x43f93c
cmp dword [ebx + 0xc], 0xffffffff
je 0x43eed1
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0xc], 0xffffffff
jmp 0x43f92f
cmp dword [ebx + 0x14], 0xffffffff
je 0x43eeec
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xffffffff
jmp 0x43f92f
mov esi, dword [ebx + 0x18]
mov edx, 0x1c
mov eax, ebx
call fcn.00402648
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.00431438
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43ef48
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 0x43f92f
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43ef5c
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x43f92f
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x43f92f
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 0x43ef90
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004350d0
jmp 0x43f93c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43efba
cmp dword [ebx + 0x10], 0xffffffff
je 0x43efba
cmp dword [ebx + 0x10], 0xfffffffe
je 0x43efba
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xfffffffe
jmp 0x43f92f
cmp dword [ebx + 0x14], 0xffffffff
je 0x43efd5
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x43f92f
mov esi, dword [ebx + 0x18]
mov edx, 0x1c
mov eax, ebx
call fcn.00402648
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.00431438
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43f031
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 0x43f92f
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43f045
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x43f92f
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x43f92f
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 0x43f079
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004350d0
jmp 0x43f93c
mov esi, dword [ebx + 0x18]
mov edx, 0x1c
mov eax, ebx
call fcn.00402648
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.00431438
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43f0d5
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 0x43f92f
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43f0e9
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x43f92f
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x43f92f
lea edx, [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043c3e8
test al, al
je 0x43f93c
cmp byte [ebp - 8], 0
je 0x43f129
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446aec
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004350d0
jmp 0x43f93c
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0xc], 0xd
je 0x43f141
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004350d0
jmp 0x43f93c
lea edx, [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043c3e8
test al, al
je 0x43f93c
mov eax, dword [ebp - 0x10]
add eax, 8
cmp dword [eax], 0
je 0x43f173
mov eax, dword [ebp - 0x10]
add eax, 4
mov edx, dword [eax]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
call fcn.004333fc
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xc], 0xd
jne 0x43f218
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
je 0x43f1fb
mov eax, dword [ebp - 0x1c]
add eax, 4
mov eax, dword [eax]
call fcn.004333e0
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.00435e54
test al, al
jne 0x43f276
cmp byte [ebp - 0x14], 0
je 0x43f1ec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446aec
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.004350d0
jmp 0x43f93c
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 0x43f276
mov eax, dword [ebp - 0x18]
call fcn.004333e0
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.00435e54
test al, al
jne 0x43f276
cmp byte [ebp - 0x14], 0
je 0x43f267
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446aec
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.004350d0
jmp 0x43f93c
cmp byte [ebp - 0x14], 0
je 0x43f92f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446aec
jmp 0x43f92f
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c3e8
test al, al
je 0x43f93c
cmp byte [ebp - 8], 0
je 0x43f2c5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446aec
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004350d0
jmp 0x43f93c
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43f2d1.0
jmp dword [eax*4 + 0x43f2d8]
mov eax, dword [ebp - 0x10]
dec byte [eax]
jmp 0x43f92f
mov eax, dword [ebp - 0x10]
dec byte [eax]
jmp 0x43f92f
mov eax, dword [ebp - 0x10]
dec word [eax]
jmp 0x43f92f
mov eax, dword [ebp - 0x10]
dec word [eax]
jmp 0x43f92f
mov eax, dword [ebp - 0x10]
dec dword [eax]
jmp 0x43f92f
mov eax, dword [ebp - 0x10]
dec dword [eax]
jmp 0x43f92f
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.004350d0
jmp 0x43f93c
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c3e8
test al, al
je 0x43f93c
cmp byte [ebp - 8], 0
je 0x43f376
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446aec
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004350d0
jmp 0x43f93c
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43f382.0
jmp dword [eax*4 + 0x43f389]
mov eax, dword [ebp - 0x10]
inc byte [eax]
jmp 0x43f92f
mov eax, dword [ebp - 0x10]
inc byte [eax]
jmp 0x43f92f
mov eax, dword [ebp - 0x10]
inc word [eax]
jmp 0x43f92f
mov eax, dword [ebp - 0x10]
inc word [eax]
jmp 0x43f92f
mov eax, dword [ebp - 0x10]
inc dword [eax]
jmp 0x43f92f
mov eax, dword [ebp - 0x10]
inc dword [eax]
jmp 0x43f92f
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.004350d0
jmp 0x43f93c
lea edx, [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043c3e8
test al, al
je 0x43f93c
cmp byte [ebp - 8], 0
je 0x43f427
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446aec
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004350d0
jmp 0x43f93c
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0xc], 0xd
je 0x43f43f
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004350d0
jmp 0x43f93c
lea edx, [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043c3e8
test al, al
je 0x43f93c
cmp byte [ebp - 0x14], 0
je 0x43f474
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446aec
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004350d0
jmp 0x43f93c
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xc], 0xd
jne 0x43f49c
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 0x43f92f
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 0x43f92f
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c3e8
test al, al
je 0x43f93c
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0xc], 0x15
je 0x43f4f2
cmp byte [ebp - 8], 0
je 0x43f4e3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446aec
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.004350d0
jmp 0x43f93c
mov eax, dword [ebp - 0x10]
mov esi, dword [eax]
cmp byte [ebp - 8], 0
je 0x43f508
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446aec
test esi, esi
jne 0x43f540
mov eax, dword [ebp - 0x10]
add eax, 8
cmp dword [eax], 0
je 0x43f540
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.0044552c
test al, al
je 0x43f93c
jmp 0x43f92f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp esi, dword [eax + 0xc]
jae 0x43f553
mov eax, dword [ebp - 4]
cmp esi, dword [eax + 0x48]
jne 0x43f562
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.004350d0
jmp 0x43f93c
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.00402a84
cmp eax, 0x431728
jne 0x43f5a8
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 0x43f92f
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.004350d0
jmp 0x43f92f
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446b4c
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 0x43f92f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43f634
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004350d0
jmp 0x43f93c
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.0043c3e8
test al, al
je 0x43f93c
cmp byte [ebp - 0x20], 0
je 0x43f703
mov eax, dword [ebp - 0x24]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43f682
sub al, 2
je 0x43f682
sub al, 6
je 0x43f682
sub al, 4
jne 0x43f68d
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
call fcn.004331e0
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 0x43f6c6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431390
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 0x43f6f4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004468f8
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004350d0
jmp 0x43f93c
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c3e8
test al, al
je 0x43f93c
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043c3e8
test al, al
jne 0x43f7dc
cmp byte [ebp - 0x14], 0
je 0x43f93c
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43f74f
sub al, 2
je 0x43f74f
sub al, 6
je 0x43f74f
sub al, 4
jne 0x43f75a
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.004331e0
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 0x43f7a5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431390
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 0x43f93c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004468f8
jmp 0x43f93c
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.00437328
cmp byte [ebp - 8], 0
je 0x43f88f
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43f81d
sub al, 2
je 0x43f81d
sub al, 6
je 0x43f81d
sub al, 4
jne 0x43f828
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.004331e0
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 0x43f861
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431390
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 0x43f88f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004468f8
cmp byte [ebp - 0x14], 0
je 0x43f92f
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43f8b1
sub al, 2
je 0x43f8b1
sub al, 6
je 0x43f8b1
sub al, 4
jne 0x43f8bc
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.004331e0
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 0x43f8f5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431390
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 0x43f92f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004468f8
jmp 0x43f92f
mov dl, 5
mov eax, dword [ebp - 4]
call fcn.004350d0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x43d93f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x43f955
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x43d933
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x43f999
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x43f97e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446aec
dec esi
cmp esi, 0xffffffff
jne 0x43f96d
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 0x43f999
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