Function at 0x43e240
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 0x43e293
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x43e289
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 0x43e26b
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 0x43e2c3
sub al, 2
je 0x43e34c
jmp 0x43e355
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
jne 0x43e2d3
xor ebx, ebx
jmp 0x4403e3
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x48]
mov eax, dword [eax + edx*4]
mov edx, dword [ebp - 4]
mov dword [edx + 0x50], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
call fcn.00402a9c
cmp eax, 0x4324c8
jne 0x43e31a
mov dl, 7
mov eax, dword [ebp - 4]
call fcn.00435ef8
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 1
jmp 0x4403e3
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 0x43e35c
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x43e35c
xor ebx, ebx
jmp 0x4403e3
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.0043e220
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x44036f
cmp dword [ebp - 0x34], 0
je 0x43e38b
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 0x43e3a8
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ef8
jmp 0x44037c
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 0x43e411
je 0x43fe32
cmp eax, 0xd
ja case.default.0x43e428
jmp dword [eax*4 + 0x43e3d9]
cmp eax, 0x15
jg 0x43e447
je 0x43f432
add eax, 0xfffffff1
cmp eax, 5
ja case.default.0x43e428
jmp dword [eax*4 + 0x43e42f]
cmp eax, 0x19
jg 0x43e46e
je 0x43ee91
sub eax, 0x16
je 0x43fb34
dec eax
je 0x43fd81
dec eax
je 0x43fcd0
jmp case.default.0x43e428
sub eax, 0x1a
je 0x43eede
sub eax, 0xe5
je 0x44036f
jmp case.default.0x43e428
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043ce28
test al, al
je 0x44037c
cmp byte [ebp - 8], 0
je 0x43e53f
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43e4be
sub al, 2
je 0x43e4be
sub al, 6
je 0x43e4be
sub al, 4
jne 0x43e4c9
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.00434008
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 0x43e502
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00432130
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 0x43e530
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447320
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435ef8
jmp 0x44037c
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043ce28
test al, al
je 0x44037c
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.0043733c
test al, al
jne 0x43e621
cmp byte [ebp - 0x14], 0
je 0x44037c
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43e594
sub al, 2
je 0x43e594
sub al, 6
je 0x43e594
sub al, 4
jne 0x43e59f
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00434008
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 0x43e5ea
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00432130
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 0x44037c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447320
jmp 0x44037c
cmp byte [ebp - 0x14], 0
je 0x44036f
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43e643
sub al, 2
je 0x43e643
sub al, 6
je 0x43e643
sub al, 4
jne 0x43e64e
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00434008
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 0x43e687
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00432130
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 0x44036f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447320
jmp 0x44036f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43e6db
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ef8
jmp 0x44037c
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.0043ce28
test al, al
je 0x44037c
cmp byte [ebp - 8], 0
je 0x43e7aa
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43e729
sub al, 2
je 0x43e729
sub al, 6
je 0x43e729
sub al, 4
jne 0x43e734
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.00434008
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 0x43e76d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00432130
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 0x43e79b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447320
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435ef8
jmp 0x44037c
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043ce28
test al, al
je 0x44037c
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.00439bd0
test al, al
jne 0x43e88d
cmp byte [ebp - 0x14], 0
je 0x44037c
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43e800
sub al, 2
je 0x43e800
sub al, 6
je 0x43e800
sub al, 4
jne 0x43e80b
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00434008
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 0x43e856
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00432130
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 0x44037c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447320
jmp 0x44037c
cmp byte [ebp - 0x14], 0
je 0x44036f
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43e8af
sub al, 2
je 0x43e8af
sub al, 6
je 0x43e8af
sub al, 4
jne 0x43e8ba
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00434008
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 0x43e8f3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00432130
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 0x44036f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447320
jmp 0x44036f
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043ce28
test al, al
je 0x44037c
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00447574
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.0043733c
test al, al
jne 0x43ea2d
cmp byte [ebp - 0x14], 0
je 0x44037c
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43e9a0
sub al, 2
je 0x43e9a0
sub al, 6
je 0x43e9a0
sub al, 4
jne 0x43e9ab
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00434008
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 0x43e9f6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00432130
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 0x44037c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447320
jmp 0x44037c
cmp byte [ebp - 0x14], 0
je 0x44036f
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43ea4f
sub al, 2
je 0x43ea4f
sub al, 6
je 0x43ea4f
sub al, 4
jne 0x43ea5a
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00434008
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 0x43ea93
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00432130
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 0x44036f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447320
jmp 0x44036f
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043ce28
test al, al
je 0x44037c
cmp byte [ebp - 0x14], 0
je 0x43eaff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447514
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435ef8
jmp 0x44037c
mov dl, 0xd
mov eax, dword [ebp - 4]
call fcn.0043de54
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00447574
mov esi, eax
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xc], 0xd
jne 0x43eb3e
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 0x44036f
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 0x44036f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
cmp dword [eax + 0xc], 0
jne 0x43eb6f
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.00435ef8
jmp 0x44037c
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 0x43eb8b
mov eax, dword [esi]
cmp byte [eax + 0xc], 0
jne 0x43eb9a
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.00435ef8
jmp 0x44037c
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 0x43ebc6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00432130
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 0x43ebf1
sub al, 2
je 0x43ebf1
sub al, 6
je 0x43ebf1
sub al, 4
jne 0x43ebfd
mov edx, dword [esi]
mov eax, esi
add eax, 4
call fcn.00434008
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 0x44036f
call fcn.00447320
jmp 0x44036f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43ec3f
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ef8
jmp 0x44037c
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 0x43ec70
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.00435ef8
jmp 0x44037c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 4]
mov ebx, dword [eax + esi*4]
mov eax, ebx
call fcn.00402a9c
cmp eax, 0x4324c8
jne 0x43ee11
xor eax, eax
push ebp
push 0x43ece2
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 0x43ecd5
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x43ecc8
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.00435ef8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44037c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44036f
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00447574
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 0x44036f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00447514
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43eebc
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ef8
jmp 0x44037c
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 0x44036f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00447514
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00447514
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43ef14
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ef8
jmp 0x44037c
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 0x44036f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43ef56
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ef8
jmp 0x44037c
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 0x44036f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43ef98
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ef8
jmp 0x44037c
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.0043ce28
test al, al
je 0x44037c
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43efd2.0
jmp dword [eax*4 + 0x43efd9]
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
setne bl
jmp 0x43f05d
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
setne bl
jmp 0x43f05d
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
setne bl
jmp 0x43f05d
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
setne bl
jmp 0x43f05d
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
setne bl
jmp 0x43f05d
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
setne bl
jmp 0x43f05d
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00435ef8
cmp byte [ebp - 0x14], 0
je 0x44037c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447514
jmp 0x44037c
cmp byte [ebp - 0x14], 0
je 0x43f06e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447514
test bl, bl
je 0x44036f
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x44036f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43f0a1
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ef8
jmp 0x44037c
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.0043ce28
test al, al
je 0x44037c
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43f0db.0
jmp dword [eax*4 + 0x43f0e2]
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
sete bl
jmp 0x43f166
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
sete bl
jmp 0x43f166
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
sete bl
jmp 0x43f166
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
sete bl
jmp 0x43f166
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
sete bl
jmp 0x43f166
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
sete bl
jmp 0x43f166
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00435ef8
cmp byte [ebp - 0x14], 0
je 0x44037c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447514
jmp 0x44037c
cmp byte [ebp - 0x14], 0
je 0x43f177
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447514
test bl, bl
je 0x44036f
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x44036f
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 0x43f2a9
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 0x43f286
cmp dword [ebx + 0x10], 0xfffffffe
jne 0x43f1dd
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 0x43f20b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebx + 8]
jbe 0x43f20b
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 0x43f20b
dec edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00447514
inc edi
jne 0x43f1fd
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
mov eax, dword [ebx + 0xc]
cmp eax, 0xffffffff
je 0x43f230
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0xc], 0xffffffff
mov esi, 1
jmp 0x43f2a9
cmp dword [ebx + 0x14], 0xffffffff
je 0x43f24d
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
mov esi, 1
jmp 0x43f2a9
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.004321d8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x43f2a9
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 0x43f1c1
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
jbe 0x43f2a9
cmp eax, 0xffffffff
jne 0x43f1c1
test esi, esi
jne 0x44036f
mov dword [ebp - 0x2c], 0xffffffff
mov eax, dword [ebp - 4]
cmp dword [eax + 0x60], 0xffffffff
jne 0x43f2cf
mov al, byte [ebp - 0x2d]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x44037c
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 0x43f2f3
dec edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00447514
inc edi
jne 0x43f2e5
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 0x43f312
mov al, byte [ebp - 0x2d]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x44037c
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.00447514
mov eax, dword [ebp - 4]
cmp dword [eax + 0x50], 0
jne 0x43f361
mov al, byte [ebp - 0x2d]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x44037c
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 0x44036f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43f3a4
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ef8
jmp 0x44037c
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 0x43f3d5
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00435ef8
jmp 0x44037c
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.00447574
jmp 0x44036f
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043ce28
test al, al
je 0x44037c
cmp byte [ebp - 8], 0
je 0x43f417
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447514
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0043d8e8
test al, al
je 0x44037c
jmp 0x44036f
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043ce28
test al, al
je 0x44037c
cmp byte [ebp - 8], 0
je 0x43f458
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447514
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0043e138
test al, al
je 0x44037c
jmp 0x44036f
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043ce28
test al, al
je 0x44037c
cmp byte [ebp - 8], 0
je 0x43f499
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447514
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0043d7b4
test al, al
je 0x44037c
jmp 0x44036f
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043ce28
test al, al
je 0x44037c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43f4fb
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ef8
cmp byte [ebp - 8], 0
je 0x44037c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447514
jmp 0x44037c
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.0x43f521.0
jmp dword [eax*4 + 0x43f528]
mov eax, dword [ebp - 0x10]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43f5d0
mov eax, dword [ebp - 0x10]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43f5d0
mov eax, dword [ebp - 0x10]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43f5d0
mov eax, dword [ebp - 0x10]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43f5d0
mov eax, dword [ebp - 0x10]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43f5d0
mov eax, dword [ebp - 0x10]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43f5d0
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00435ef8
cmp byte [ebp - 8], 0
je 0x44037c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447514
jmp 0x44037c
test esi, esi
je 0x43f5e2
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 0x44036f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447514
jmp 0x44036f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43f61c
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ef8
jmp 0x44037c
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 0x44036f
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x44036f
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.0043da60
test al, al
jne 0x43f69e
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ef8
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
jmp 0x44037c
lea edx, [ebx + 0x10]
mov eax, dword [ebp - 4]
call fcn.0043da60
test al, al
jne 0x43f6c8
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ef8
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
jmp 0x44037c
lea edx, [ebx + 0x14]
mov eax, dword [ebp - 4]
call fcn.0043da60
test al, al
jne 0x43f6f2
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ef8
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
jmp 0x44037c
lea edx, [ebx + 0x18]
mov eax, dword [ebp - 4]
call fcn.0043da60
test al, al
jne 0x43f71c
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ef8
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
jmp 0x44037c
cmp dword [ebx + 0xc], 0xffffffff
je 0x43f72b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0xc], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x43f73a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x10], eax
cmp dword [ebx + 0x14], 0xffffffff
je 0x43f749
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x14], eax
cmp dword [ebx + 0x18], 0xffffffff
je 0x43f758
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x18], eax
cmp dword [ebx + 0xc], 0xffffffff
je 0x43f769
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x43f79c
cmp dword [ebx + 0x10], 0xffffffff
je 0x43f77a
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x43f79c
cmp dword [ebx + 0x14], 0xffffffff
je 0x43f78b
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x43f79c
cmp dword [ebx + 0x18], 0xffffffff
je 0x43f7b7
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43f7b7
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ef8
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
jmp 0x44037c
mov edx, ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.00432190
jmp 0x44036f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43f7e6
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ef8
jmp 0x44037c
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 0x43f8cd
je 0x43f9a7
dec esi
je 0x43f81a
dec esi
je 0x43fa90
jmp 0x44036f
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 0x43f849
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ef8
jmp 0x44037c
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 0x43f872
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ef8
jmp 0x44037c
mov dword [ebx + 0x10], 0xffffffff
cmp dword [ebx + 0x14], 0xffffffff
je 0x43f894
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x44036f
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.004321d8
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43f8c2
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x44036f
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x44036f
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 0x43f8f6
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ef8
jmp 0x44037c
cmp dword [ebx + 0xc], 0xffffffff
je 0x43f911
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0xc], 0xffffffff
jmp 0x44036f
cmp dword [ebx + 0x14], 0xffffffff
je 0x43f92c
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xffffffff
jmp 0x44036f
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.004321d8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43f988
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 0x44036f
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43f99c
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x44036f
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x44036f
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 0x43f9d0
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ef8
jmp 0x44037c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43f9fa
cmp dword [ebx + 0x10], 0xffffffff
je 0x43f9fa
cmp dword [ebx + 0x10], 0xfffffffe
je 0x43f9fa
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xfffffffe
jmp 0x44036f
cmp dword [ebx + 0x14], 0xffffffff
je 0x43fa15
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x44036f
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.004321d8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43fa71
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 0x44036f
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43fa85
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x44036f
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x44036f
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 0x43fab9
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ef8
jmp 0x44037c
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.004321d8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43fb15
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 0x44036f
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43fb29
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x44036f
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x44036f
lea edx, [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043ce28
test al, al
je 0x44037c
cmp byte [ebp - 8], 0
je 0x43fb69
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447514
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435ef8
jmp 0x44037c
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0xc], 0xd
je 0x43fb81
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435ef8
jmp 0x44037c
lea edx, [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043ce28
test al, al
je 0x44037c
mov eax, dword [ebp - 0x10]
add eax, 8
cmp dword [eax], 0
je 0x43fbb3
mov eax, dword [ebp - 0x10]
add eax, 4
mov edx, dword [eax]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
call fcn.00434224
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xc], 0xd
jne 0x43fc58
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
je 0x43fc3b
mov eax, dword [ebp - 0x1c]
add eax, 4
mov eax, dword [eax]
call fcn.00434208
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.00436b40
test al, al
jne 0x43fcb6
cmp byte [ebp - 0x14], 0
je 0x43fc2c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447514
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00435ef8
jmp 0x44037c
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 0x43fcb6
mov eax, dword [ebp - 0x18]
call fcn.00434208
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.00436b40
test al, al
jne 0x43fcb6
cmp byte [ebp - 0x14], 0
je 0x43fca7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447514
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00435ef8
jmp 0x44037c
cmp byte [ebp - 0x14], 0
je 0x44036f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447514
jmp 0x44036f
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043ce28
test al, al
je 0x44037c
cmp byte [ebp - 8], 0
je 0x43fd05
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447514
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435ef8
jmp 0x44037c
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43fd11.0
jmp dword [eax*4 + 0x43fd18]
mov eax, dword [ebp - 0x10]
dec byte [eax]
jmp 0x44036f
mov eax, dword [ebp - 0x10]
dec byte [eax]
jmp 0x44036f
mov eax, dword [ebp - 0x10]
dec word [eax]
jmp 0x44036f
mov eax, dword [ebp - 0x10]
dec word [eax]
jmp 0x44036f
mov eax, dword [ebp - 0x10]
dec dword [eax]
jmp 0x44036f
mov eax, dword [ebp - 0x10]
dec dword [eax]
jmp 0x44036f
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00435ef8
jmp 0x44037c
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043ce28
test al, al
je 0x44037c
cmp byte [ebp - 8], 0
je 0x43fdb6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447514
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435ef8
jmp 0x44037c
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43fdc2.0
jmp dword [eax*4 + 0x43fdc9]
mov eax, dword [ebp - 0x10]
inc byte [eax]
jmp 0x44036f
mov eax, dword [ebp - 0x10]
inc byte [eax]
jmp 0x44036f
mov eax, dword [ebp - 0x10]
inc word [eax]
jmp 0x44036f
mov eax, dword [ebp - 0x10]
inc word [eax]
jmp 0x44036f
mov eax, dword [ebp - 0x10]
inc dword [eax]
jmp 0x44036f
mov eax, dword [ebp - 0x10]
inc dword [eax]
jmp 0x44036f
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00435ef8
jmp 0x44037c
lea edx, [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043ce28
test al, al
je 0x44037c
cmp byte [ebp - 8], 0
je 0x43fe67
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447514
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435ef8
jmp 0x44037c
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0xc], 0xd
je 0x43fe7f
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435ef8
jmp 0x44037c
lea edx, [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043ce28
test al, al
je 0x44037c
cmp byte [ebp - 0x14], 0
je 0x43feb4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447514
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435ef8
jmp 0x44037c
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xc], 0xd
jne 0x43fedc
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 0x44036f
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 0x44036f
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043ce28
test al, al
je 0x44037c
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0xc], 0x15
je 0x43ff32
cmp byte [ebp - 8], 0
je 0x43ff23
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447514
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00435ef8
jmp 0x44037c
mov eax, dword [ebp - 0x10]
mov esi, dword [eax]
cmp byte [ebp - 8], 0
je 0x43ff48
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447514
test esi, esi
jne 0x43ff80
mov eax, dword [ebp - 0x10]
add eax, 8
cmp dword [eax], 0
je 0x43ff80
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.00445f54
test al, al
je 0x44037c
jmp 0x44036f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp esi, dword [eax + 0xc]
jae 0x43ff93
mov eax, dword [ebp - 4]
cmp esi, dword [eax + 0x48]
jne 0x43ffa2
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.00435ef8
jmp 0x44037c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 4]
mov ebx, dword [eax + esi*4]
mov eax, ebx
call fcn.00402a9c
cmp eax, 0x4324c8
jne 0x43ffe8
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 0x44036f
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.00435ef8
jmp 0x44036f
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00447574
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 0x44036f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x440074
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435ef8
jmp 0x44037c
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.0043ce28
test al, al
je 0x44037c
cmp byte [ebp - 0x20], 0
je 0x440143
mov eax, dword [ebp - 0x24]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x4400c2
sub al, 2
je 0x4400c2
sub al, 6
je 0x4400c2
sub al, 4
jne 0x4400cd
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
call fcn.00434008
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 0x440106
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00432130
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 0x440134
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447320
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435ef8
jmp 0x44037c
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043ce28
test al, al
je 0x44037c
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043ce28
test al, al
jne 0x44021c
cmp byte [ebp - 0x14], 0
je 0x44037c
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x44018f
sub al, 2
je 0x44018f
sub al, 6
je 0x44018f
sub al, 4
jne 0x44019a
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00434008
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 0x4401e5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00432130
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 0x44037c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447320
jmp 0x44037c
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.00437fb4
cmp byte [ebp - 8], 0
je 0x4402cf
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x44025d
sub al, 2
je 0x44025d
sub al, 6
je 0x44025d
sub al, 4
jne 0x440268
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.00434008
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 0x4402a1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00432130
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 0x4402cf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447320
cmp byte [ebp - 0x14], 0
je 0x44036f
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x4402f1
sub al, 2
je 0x4402f1
sub al, 6
je 0x4402f1
sub al, 4
jne 0x4402fc
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00434008
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 0x440335
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00432130
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 0x44036f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00447320
jmp 0x44036f
mov dl, 5
mov eax, dword [ebp - 4]
call fcn.00435ef8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x43e37f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x440395
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x43e373
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x4403d9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x4403be
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00447514
dec esi
cmp esi, 0xffffffff
jne 0x4403ad
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 0x4403d9
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