Function at 0x43d1c0
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 0x43d213
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x43d209
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.00402634
dec esi
cmp esi, 0xffffffff
jne 0x43d1eb
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 0x43d243
sub al, 2
je 0x43d2cc
jmp 0x43d2d5
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
jne 0x43d253
xor ebx, ebx
jmp 0x43f363
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.00402a70
cmp eax, 0x4314b0
jne 0x43d29a
mov dl, 7
mov eax, dword [ebp - 4]
call fcn.00434ee0
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 1
jmp 0x43f363
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 0x43d2dc
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x43d2dc
xor ebx, ebx
jmp 0x43f363
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.0043d1a0
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x43f2ef
cmp dword [ebp - 0x34], 0
je 0x43d30b
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 0x43d328
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ee0
jmp 0x43f2fc
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 0x43d391
je 0x43edb2
cmp eax, 0xd
ja case.default.0x43d3a8
jmp dword [eax*4 + 0x43d359]
cmp eax, 0x15
jg 0x43d3c7
je 0x43e3b2
add eax, 0xfffffff1
cmp eax, 5
ja case.default.0x43d3a8
jmp dword [eax*4 + 0x43d3af]
cmp eax, 0x19
jg 0x43d3ee
je 0x43de11
sub eax, 0x16
je 0x43eab4
dec eax
je 0x43ed01
dec eax
je 0x43ec50
jmp case.default.0x43d3a8
sub eax, 0x1a
je 0x43de5e
sub eax, 0xe5
je 0x43f2ef
jmp case.default.0x43d3a8
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bda8
test al, al
je 0x43f2fc
cmp byte [ebp - 8], 0
je 0x43d4bf
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43d43e
sub al, 2
je 0x43d43e
sub al, 6
je 0x43d43e
sub al, 4
jne 0x43d449
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.00432ff0
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 0x43d482
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431118
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 0x43d4b0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004462a0
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00434ee0
jmp 0x43f2fc
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bda8
test al, al
je 0x43f2fc
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.004362bc
test al, al
jne 0x43d5a1
cmp byte [ebp - 0x14], 0
je 0x43f2fc
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43d514
sub al, 2
je 0x43d514
sub al, 6
je 0x43d514
sub al, 4
jne 0x43d51f
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00432ff0
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 0x43d56a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431118
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 0x43f2fc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004462a0
jmp 0x43f2fc
cmp byte [ebp - 0x14], 0
je 0x43f2ef
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43d5c3
sub al, 2
je 0x43d5c3
sub al, 6
je 0x43d5c3
sub al, 4
jne 0x43d5ce
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00432ff0
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 0x43d607
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431118
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 0x43f2ef
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004462a0
jmp 0x43f2ef
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43d65b
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ee0
jmp 0x43f2fc
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.0043bda8
test al, al
je 0x43f2fc
cmp byte [ebp - 8], 0
je 0x43d72a
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43d6a9
sub al, 2
je 0x43d6a9
sub al, 6
je 0x43d6a9
sub al, 4
jne 0x43d6b4
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.00432ff0
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 0x43d6ed
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431118
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 0x43d71b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004462a0
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00434ee0
jmp 0x43f2fc
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bda8
test al, al
je 0x43f2fc
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.00438b50
test al, al
jne 0x43d80d
cmp byte [ebp - 0x14], 0
je 0x43f2fc
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43d780
sub al, 2
je 0x43d780
sub al, 6
je 0x43d780
sub al, 4
jne 0x43d78b
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00432ff0
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 0x43d7d6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431118
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 0x43f2fc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004462a0
jmp 0x43f2fc
cmp byte [ebp - 0x14], 0
je 0x43f2ef
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43d82f
sub al, 2
je 0x43d82f
sub al, 6
je 0x43d82f
sub al, 4
jne 0x43d83a
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00432ff0
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 0x43d873
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431118
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 0x43f2ef
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004462a0
jmp 0x43f2ef
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bda8
test al, al
je 0x43f2fc
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004464d4
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.004362bc
test al, al
jne 0x43d9ad
cmp byte [ebp - 0x14], 0
je 0x43f2fc
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43d920
sub al, 2
je 0x43d920
sub al, 6
je 0x43d920
sub al, 4
jne 0x43d92b
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00432ff0
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 0x43d976
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431118
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 0x43f2fc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004462a0
jmp 0x43f2fc
cmp byte [ebp - 0x14], 0
je 0x43f2ef
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43d9cf
sub al, 2
je 0x43d9cf
sub al, 6
je 0x43d9cf
sub al, 4
jne 0x43d9da
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00432ff0
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 0x43da13
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431118
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 0x43f2ef
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004462a0
jmp 0x43f2ef
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bda8
test al, al
je 0x43f2fc
cmp byte [ebp - 0x14], 0
je 0x43da7f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446474
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00434ee0
jmp 0x43f2fc
mov dl, 0xd
mov eax, dword [ebp - 4]
call fcn.0043cdd4
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004464d4
mov esi, eax
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xc], 0xd
jne 0x43dabe
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 0x43f2ef
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 0x43f2ef
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
cmp dword [eax + 0xc], 0
jne 0x43daef
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.00434ee0
jmp 0x43f2fc
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 0x43db0b
mov eax, dword [esi]
cmp byte [eax + 0xc], 0
jne 0x43db1a
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.00434ee0
jmp 0x43f2fc
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 0x43db46
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00431118
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 0x43db71
sub al, 2
je 0x43db71
sub al, 6
je 0x43db71
sub al, 4
jne 0x43db7d
mov edx, dword [esi]
mov eax, esi
add eax, 4
call fcn.00432ff0
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 0x43f2ef
call fcn.004462a0
jmp 0x43f2ef
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43dbbf
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ee0
jmp 0x43f2fc
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 0x43dbf0
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.00434ee0
jmp 0x43f2fc
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.00402a70
cmp eax, 0x4314b0
jne 0x43dd91
xor eax, eax
push ebp
push 0x43dc62
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 0x43dc55
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x43dc48
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.00434ee0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x43f2fc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x43f2ef
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004464d4
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 0x43f2ef
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446474
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43de3c
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ee0
jmp 0x43f2fc
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 0x43f2ef
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446474
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446474
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43de94
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ee0
jmp 0x43f2fc
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 0x43f2ef
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43ded6
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ee0
jmp 0x43f2fc
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 0x43f2ef
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43df18
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ee0
jmp 0x43f2fc
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.0043bda8
test al, al
je 0x43f2fc
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43df52.0
jmp dword [eax*4 + 0x43df59]
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
setne bl
jmp 0x43dfdd
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
setne bl
jmp 0x43dfdd
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
setne bl
jmp 0x43dfdd
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
setne bl
jmp 0x43dfdd
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
setne bl
jmp 0x43dfdd
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
setne bl
jmp 0x43dfdd
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00434ee0
cmp byte [ebp - 0x14], 0
je 0x43f2fc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446474
jmp 0x43f2fc
cmp byte [ebp - 0x14], 0
je 0x43dfee
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446474
test bl, bl
je 0x43f2ef
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x43f2ef
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e021
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ee0
jmp 0x43f2fc
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.0043bda8
test al, al
je 0x43f2fc
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43e05b.0
jmp dword [eax*4 + 0x43e062]
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
sete bl
jmp 0x43e0e6
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
sete bl
jmp 0x43e0e6
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
sete bl
jmp 0x43e0e6
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
sete bl
jmp 0x43e0e6
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
sete bl
jmp 0x43e0e6
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
sete bl
jmp 0x43e0e6
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00434ee0
cmp byte [ebp - 0x14], 0
je 0x43f2fc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446474
jmp 0x43f2fc
cmp byte [ebp - 0x14], 0
je 0x43e0f7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446474
test bl, bl
je 0x43f2ef
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x43f2ef
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 0x43e229
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 0x43e206
cmp dword [ebx + 0x10], 0xfffffffe
jne 0x43e15d
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 0x43e18b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebx + 8]
jbe 0x43e18b
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 0x43e18b
dec edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446474
inc edi
jne 0x43e17d
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
mov eax, dword [ebx + 0xc]
cmp eax, 0xffffffff
je 0x43e1b0
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0xc], 0xffffffff
mov esi, 1
jmp 0x43e229
cmp dword [ebx + 0x14], 0xffffffff
je 0x43e1cd
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
mov esi, 1
jmp 0x43e229
mov edx, 0x1c
mov eax, ebx
call fcn.00402634
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.004311c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x43e229
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 0x43e141
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
jbe 0x43e229
cmp eax, 0xffffffff
jne 0x43e141
test esi, esi
jne 0x43f2ef
mov dword [ebp - 0x2c], 0xffffffff
mov eax, dword [ebp - 4]
cmp dword [eax + 0x60], 0xffffffff
jne 0x43e24f
mov al, byte [ebp - 0x2d]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x43f2fc
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 0x43e273
dec edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446474
inc edi
jne 0x43e265
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 0x43e292
mov al, byte [ebp - 0x2d]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x43f2fc
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.00446474
mov eax, dword [ebp - 4]
cmp dword [eax + 0x50], 0
jne 0x43e2e1
mov al, byte [ebp - 0x2d]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x43f2fc
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 0x43f2ef
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e324
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ee0
jmp 0x43f2fc
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 0x43e355
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00434ee0
jmp 0x43f2fc
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.004464d4
jmp 0x43f2ef
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bda8
test al, al
je 0x43f2fc
cmp byte [ebp - 8], 0
je 0x43e397
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446474
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0043c868
test al, al
je 0x43f2fc
jmp 0x43f2ef
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bda8
test al, al
je 0x43f2fc
cmp byte [ebp - 8], 0
je 0x43e3d8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446474
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0043d0b8
test al, al
je 0x43f2fc
jmp 0x43f2ef
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bda8
test al, al
je 0x43f2fc
cmp byte [ebp - 8], 0
je 0x43e419
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446474
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0043c734
test al, al
je 0x43f2fc
jmp 0x43f2ef
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bda8
test al, al
je 0x43f2fc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43e47b
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ee0
cmp byte [ebp - 8], 0
je 0x43f2fc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446474
jmp 0x43f2fc
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.0x43e4a1.0
jmp dword [eax*4 + 0x43e4a8]
mov eax, dword [ebp - 0x10]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43e550
mov eax, dword [ebp - 0x10]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43e550
mov eax, dword [ebp - 0x10]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43e550
mov eax, dword [ebp - 0x10]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43e550
mov eax, dword [ebp - 0x10]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43e550
mov eax, dword [ebp - 0x10]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43e550
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00434ee0
cmp byte [ebp - 8], 0
je 0x43f2fc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446474
jmp 0x43f2fc
test esi, esi
je 0x43e562
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 0x43f2ef
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446474
jmp 0x43f2ef
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e59c
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ee0
jmp 0x43f2fc
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 0x43f2ef
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x43f2ef
mov eax, 0x1c
call fcn.0040261c
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.0043c9e0
test al, al
jne 0x43e61e
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ee0
mov edx, 0x1c
mov eax, ebx
call fcn.00402634
jmp 0x43f2fc
lea edx, [ebx + 0x10]
mov eax, dword [ebp - 4]
call fcn.0043c9e0
test al, al
jne 0x43e648
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ee0
mov edx, 0x1c
mov eax, ebx
call fcn.00402634
jmp 0x43f2fc
lea edx, [ebx + 0x14]
mov eax, dword [ebp - 4]
call fcn.0043c9e0
test al, al
jne 0x43e672
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ee0
mov edx, 0x1c
mov eax, ebx
call fcn.00402634
jmp 0x43f2fc
lea edx, [ebx + 0x18]
mov eax, dword [ebp - 4]
call fcn.0043c9e0
test al, al
jne 0x43e69c
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ee0
mov edx, 0x1c
mov eax, ebx
call fcn.00402634
jmp 0x43f2fc
cmp dword [ebx + 0xc], 0xffffffff
je 0x43e6ab
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0xc], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x43e6ba
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x10], eax
cmp dword [ebx + 0x14], 0xffffffff
je 0x43e6c9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x14], eax
cmp dword [ebx + 0x18], 0xffffffff
je 0x43e6d8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x18], eax
cmp dword [ebx + 0xc], 0xffffffff
je 0x43e6e9
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x43e71c
cmp dword [ebx + 0x10], 0xffffffff
je 0x43e6fa
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x43e71c
cmp dword [ebx + 0x14], 0xffffffff
je 0x43e70b
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x43e71c
cmp dword [ebx + 0x18], 0xffffffff
je 0x43e737
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43e737
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ee0
mov edx, 0x1c
mov eax, ebx
call fcn.00402634
jmp 0x43f2fc
mov edx, ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.00431178
jmp 0x43f2ef
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43e766
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ee0
jmp 0x43f2fc
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 0x43e84d
je 0x43e927
dec esi
je 0x43e79a
dec esi
je 0x43ea10
jmp 0x43f2ef
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 0x43e7c9
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ee0
jmp 0x43f2fc
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 0x43e7f2
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ee0
jmp 0x43f2fc
mov dword [ebx + 0x10], 0xffffffff
cmp dword [ebx + 0x14], 0xffffffff
je 0x43e814
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x43f2ef
mov esi, dword [ebx + 0x18]
mov edx, 0x1c
mov eax, ebx
call fcn.00402634
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.004311c0
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43e842
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x43f2ef
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x43f2ef
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 0x43e876
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ee0
jmp 0x43f2fc
cmp dword [ebx + 0xc], 0xffffffff
je 0x43e891
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0xc], 0xffffffff
jmp 0x43f2ef
cmp dword [ebx + 0x14], 0xffffffff
je 0x43e8ac
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xffffffff
jmp 0x43f2ef
mov esi, dword [ebx + 0x18]
mov edx, 0x1c
mov eax, ebx
call fcn.00402634
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.004311c0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43e908
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 0x43f2ef
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43e91c
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x43f2ef
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x43f2ef
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 0x43e950
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ee0
jmp 0x43f2fc
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43e97a
cmp dword [ebx + 0x10], 0xffffffff
je 0x43e97a
cmp dword [ebx + 0x10], 0xfffffffe
je 0x43e97a
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xfffffffe
jmp 0x43f2ef
cmp dword [ebx + 0x14], 0xffffffff
je 0x43e995
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x43f2ef
mov esi, dword [ebx + 0x18]
mov edx, 0x1c
mov eax, ebx
call fcn.00402634
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.004311c0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43e9f1
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 0x43f2ef
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43ea05
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x43f2ef
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x43f2ef
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 0x43ea39
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ee0
jmp 0x43f2fc
mov esi, dword [ebx + 0x18]
mov edx, 0x1c
mov eax, ebx
call fcn.00402634
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.004311c0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43ea95
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 0x43f2ef
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43eaa9
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x43f2ef
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x43f2ef
lea edx, [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043bda8
test al, al
je 0x43f2fc
cmp byte [ebp - 8], 0
je 0x43eae9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446474
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00434ee0
jmp 0x43f2fc
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0xc], 0xd
je 0x43eb01
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00434ee0
jmp 0x43f2fc
lea edx, [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043bda8
test al, al
je 0x43f2fc
mov eax, dword [ebp - 0x10]
add eax, 8
cmp dword [eax], 0
je 0x43eb33
mov eax, dword [ebp - 0x10]
add eax, 4
mov edx, dword [eax]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
call fcn.0043320c
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xc], 0xd
jne 0x43ebd8
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
je 0x43ebbb
mov eax, dword [ebp - 0x1c]
add eax, 4
mov eax, dword [eax]
call fcn.004331f0
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.00435ac0
test al, al
jne 0x43ec36
cmp byte [ebp - 0x14], 0
je 0x43ebac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446474
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00434ee0
jmp 0x43f2fc
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 0x43ec36
mov eax, dword [ebp - 0x18]
call fcn.004331f0
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.00435ac0
test al, al
jne 0x43ec36
cmp byte [ebp - 0x14], 0
je 0x43ec27
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446474
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00434ee0
jmp 0x43f2fc
cmp byte [ebp - 0x14], 0
je 0x43f2ef
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446474
jmp 0x43f2ef
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bda8
test al, al
je 0x43f2fc
cmp byte [ebp - 8], 0
je 0x43ec85
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446474
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00434ee0
jmp 0x43f2fc
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43ec91.0
jmp dword [eax*4 + 0x43ec98]
mov eax, dword [ebp - 0x10]
dec byte [eax]
jmp 0x43f2ef
mov eax, dword [ebp - 0x10]
dec byte [eax]
jmp 0x43f2ef
mov eax, dword [ebp - 0x10]
dec word [eax]
jmp 0x43f2ef
mov eax, dword [ebp - 0x10]
dec word [eax]
jmp 0x43f2ef
mov eax, dword [ebp - 0x10]
dec dword [eax]
jmp 0x43f2ef
mov eax, dword [ebp - 0x10]
dec dword [eax]
jmp 0x43f2ef
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00434ee0
jmp 0x43f2fc
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bda8
test al, al
je 0x43f2fc
cmp byte [ebp - 8], 0
je 0x43ed36
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446474
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00434ee0
jmp 0x43f2fc
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43ed42.0
jmp dword [eax*4 + 0x43ed49]
mov eax, dword [ebp - 0x10]
inc byte [eax]
jmp 0x43f2ef
mov eax, dword [ebp - 0x10]
inc byte [eax]
jmp 0x43f2ef
mov eax, dword [ebp - 0x10]
inc word [eax]
jmp 0x43f2ef
mov eax, dword [ebp - 0x10]
inc word [eax]
jmp 0x43f2ef
mov eax, dword [ebp - 0x10]
inc dword [eax]
jmp 0x43f2ef
mov eax, dword [ebp - 0x10]
inc dword [eax]
jmp 0x43f2ef
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00434ee0
jmp 0x43f2fc
lea edx, [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043bda8
test al, al
je 0x43f2fc
cmp byte [ebp - 8], 0
je 0x43ede7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446474
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00434ee0
jmp 0x43f2fc
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0xc], 0xd
je 0x43edff
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00434ee0
jmp 0x43f2fc
lea edx, [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043bda8
test al, al
je 0x43f2fc
cmp byte [ebp - 0x14], 0
je 0x43ee34
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446474
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00434ee0
jmp 0x43f2fc
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xc], 0xd
jne 0x43ee5c
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 0x43f2ef
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 0x43f2ef
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bda8
test al, al
je 0x43f2fc
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0xc], 0x15
je 0x43eeb2
cmp byte [ebp - 8], 0
je 0x43eea3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446474
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00434ee0
jmp 0x43f2fc
mov eax, dword [ebp - 0x10]
mov esi, dword [eax]
cmp byte [ebp - 8], 0
je 0x43eec8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446474
test esi, esi
jne 0x43ef00
mov eax, dword [ebp - 0x10]
add eax, 8
cmp dword [eax], 0
je 0x43ef00
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.00444ed4
test al, al
je 0x43f2fc
jmp 0x43f2ef
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp esi, dword [eax + 0xc]
jae 0x43ef13
mov eax, dword [ebp - 4]
cmp esi, dword [eax + 0x48]
jne 0x43ef22
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.00434ee0
jmp 0x43f2fc
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.00402a70
cmp eax, 0x4314b0
jne 0x43ef68
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 0x43f2ef
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.00434ee0
jmp 0x43f2ef
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004464d4
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 0x43f2ef
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43eff4
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00434ee0
jmp 0x43f2fc
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.0043bda8
test al, al
je 0x43f2fc
cmp byte [ebp - 0x20], 0
je 0x43f0c3
mov eax, dword [ebp - 0x24]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43f042
sub al, 2
je 0x43f042
sub al, 6
je 0x43f042
sub al, 4
jne 0x43f04d
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
call fcn.00432ff0
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 0x43f086
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431118
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 0x43f0b4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004462a0
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00434ee0
jmp 0x43f2fc
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bda8
test al, al
je 0x43f2fc
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bda8
test al, al
jne 0x43f19c
cmp byte [ebp - 0x14], 0
je 0x43f2fc
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43f10f
sub al, 2
je 0x43f10f
sub al, 6
je 0x43f10f
sub al, 4
jne 0x43f11a
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00432ff0
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 0x43f165
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431118
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 0x43f2fc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004462a0
jmp 0x43f2fc
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.00436f34
cmp byte [ebp - 8], 0
je 0x43f24f
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43f1dd
sub al, 2
je 0x43f1dd
sub al, 6
je 0x43f1dd
sub al, 4
jne 0x43f1e8
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.00432ff0
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 0x43f221
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431118
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 0x43f24f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004462a0
cmp byte [ebp - 0x14], 0
je 0x43f2ef
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43f271
sub al, 2
je 0x43f271
sub al, 6
je 0x43f271
sub al, 4
jne 0x43f27c
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00432ff0
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 0x43f2b5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431118
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 0x43f2ef
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004462a0
jmp 0x43f2ef
mov dl, 5
mov eax, dword [ebp - 4]
call fcn.00434ee0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x43d2ff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x43f315
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x43d2f3
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x43f359
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x43f33e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00446474
dec esi
cmp esi, 0xffffffff
jne 0x43f32d
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 0x43f359
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