Function at 0x43d388
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 0x43d3db
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x43d3d1
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 0x43d3b3
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 0x43d40b
sub al, 2
je 0x43d494
jmp 0x43d49d
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
jne 0x43d41b
xor ebx, ebx
jmp 0x43f52b
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, 0x431610
jne 0x43d462
mov dl, 7
mov eax, dword [ebp - 4]
call fcn.00435040
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 1
jmp 0x43f52b
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 0x43d4a4
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x43d4a4
xor ebx, ebx
jmp 0x43f52b
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.0043d368
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x43f4b7
cmp dword [ebp - 0x34], 0
je 0x43d4d3
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 0x43d4f0
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435040
jmp 0x43f4c4
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 0x43d559
je 0x43ef7a
cmp eax, 0xd
ja case.default.0x43d570
jmp dword [eax*4 + 0x43d521]
cmp eax, 0x15
jg 0x43d58f
je 0x43e57a
add eax, 0xfffffff1
cmp eax, 5
ja case.default.0x43d570
jmp dword [eax*4 + 0x43d577]
cmp eax, 0x19
jg 0x43d5b6
je 0x43dfd9
sub eax, 0x16
je 0x43ec7c
dec eax
je 0x43eec9
dec eax
je 0x43ee18
jmp case.default.0x43d570
sub eax, 0x1a
je 0x43e026
sub eax, 0xe5
je 0x43f4b7
jmp case.default.0x43d570
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bf70
test al, al
je 0x43f4c4
cmp byte [ebp - 8], 0
je 0x43d687
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43d606
sub al, 2
je 0x43d606
sub al, 6
je 0x43d606
sub al, 4
jne 0x43d611
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.00433150
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 0x43d64a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431278
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 0x43d678
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446468
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435040
jmp 0x43f4c4
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bf70
test al, al
je 0x43f4c4
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.00436484
test al, al
jne 0x43d769
cmp byte [ebp - 0x14], 0
je 0x43f4c4
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43d6dc
sub al, 2
je 0x43d6dc
sub al, 6
je 0x43d6dc
sub al, 4
jne 0x43d6e7
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00433150
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 0x43d732
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431278
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 0x43f4c4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446468
jmp 0x43f4c4
cmp byte [ebp - 0x14], 0
je 0x43f4b7
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43d78b
sub al, 2
je 0x43d78b
sub al, 6
je 0x43d78b
sub al, 4
jne 0x43d796
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00433150
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 0x43d7cf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431278
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 0x43f4b7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446468
jmp 0x43f4b7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43d823
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435040
jmp 0x43f4c4
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.0043bf70
test al, al
je 0x43f4c4
cmp byte [ebp - 8], 0
je 0x43d8f2
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43d871
sub al, 2
je 0x43d871
sub al, 6
je 0x43d871
sub al, 4
jne 0x43d87c
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.00433150
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 0x43d8b5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431278
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 0x43d8e3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446468
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435040
jmp 0x43f4c4
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bf70
test al, al
je 0x43f4c4
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.00438d18
test al, al
jne 0x43d9d5
cmp byte [ebp - 0x14], 0
je 0x43f4c4
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43d948
sub al, 2
je 0x43d948
sub al, 6
je 0x43d948
sub al, 4
jne 0x43d953
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00433150
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 0x43d99e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431278
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 0x43f4c4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446468
jmp 0x43f4c4
cmp byte [ebp - 0x14], 0
je 0x43f4b7
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43d9f7
sub al, 2
je 0x43d9f7
sub al, 6
je 0x43d9f7
sub al, 4
jne 0x43da02
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00433150
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 0x43da3b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431278
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 0x43f4b7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446468
jmp 0x43f4b7
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bf70
test al, al
je 0x43f4c4
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004466bc
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.00436484
test al, al
jne 0x43db75
cmp byte [ebp - 0x14], 0
je 0x43f4c4
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43dae8
sub al, 2
je 0x43dae8
sub al, 6
je 0x43dae8
sub al, 4
jne 0x43daf3
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00433150
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 0x43db3e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431278
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 0x43f4c4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446468
jmp 0x43f4c4
cmp byte [ebp - 0x14], 0
je 0x43f4b7
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43db97
sub al, 2
je 0x43db97
sub al, 6
je 0x43db97
sub al, 4
jne 0x43dba2
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00433150
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 0x43dbdb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431278
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 0x43f4b7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446468
jmp 0x43f4b7
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bf70
test al, al
je 0x43f4c4
cmp byte [ebp - 0x14], 0
je 0x43dc47
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0044665c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435040
jmp 0x43f4c4
mov dl, 0xd
mov eax, dword [ebp - 4]
call fcn.0043cf9c
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004466bc
mov esi, eax
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xc], 0xd
jne 0x43dc86
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 0x43f4b7
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 0x43f4b7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
cmp dword [eax + 0xc], 0
jne 0x43dcb7
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.00435040
jmp 0x43f4c4
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 0x43dcd3
mov eax, dword [esi]
cmp byte [eax + 0xc], 0
jne 0x43dce2
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.00435040
jmp 0x43f4c4
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 0x43dd0e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00431278
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 0x43dd39
sub al, 2
je 0x43dd39
sub al, 6
je 0x43dd39
sub al, 4
jne 0x43dd45
mov edx, dword [esi]
mov eax, esi
add eax, 4
call fcn.00433150
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 0x43f4b7
call fcn.00446468
jmp 0x43f4b7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43dd87
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435040
jmp 0x43f4c4
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 0x43ddb8
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.00435040
jmp 0x43f4c4
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, 0x431610
jne 0x43df59
xor eax, eax
push ebp
push 0x43de2a
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 0x43de1d
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x43de10
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.00435040
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x43f4c4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x43f4b7
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004466bc
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 0x43f4b7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0044665c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e004
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435040
jmp 0x43f4c4
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 0x43f4b7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0044665c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0044665c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e05c
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435040
jmp 0x43f4c4
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 0x43f4b7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e09e
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435040
jmp 0x43f4c4
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 0x43f4b7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e0e0
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435040
jmp 0x43f4c4
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.0043bf70
test al, al
je 0x43f4c4
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43e11a.0
jmp dword [eax*4 + 0x43e121]
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
setne bl
jmp 0x43e1a5
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
setne bl
jmp 0x43e1a5
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
setne bl
jmp 0x43e1a5
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
setne bl
jmp 0x43e1a5
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
setne bl
jmp 0x43e1a5
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
setne bl
jmp 0x43e1a5
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00435040
cmp byte [ebp - 0x14], 0
je 0x43f4c4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0044665c
jmp 0x43f4c4
cmp byte [ebp - 0x14], 0
je 0x43e1b6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0044665c
test bl, bl
je 0x43f4b7
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x43f4b7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e1e9
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435040
jmp 0x43f4c4
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.0043bf70
test al, al
je 0x43f4c4
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43e223.0
jmp dword [eax*4 + 0x43e22a]
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
sete bl
jmp 0x43e2ae
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
sete bl
jmp 0x43e2ae
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
sete bl
jmp 0x43e2ae
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
sete bl
jmp 0x43e2ae
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
sete bl
jmp 0x43e2ae
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
sete bl
jmp 0x43e2ae
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00435040
cmp byte [ebp - 0x14], 0
je 0x43f4c4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0044665c
jmp 0x43f4c4
cmp byte [ebp - 0x14], 0
je 0x43e2bf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0044665c
test bl, bl
je 0x43f4b7
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x43f4b7
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 0x43e3f1
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 0x43e3ce
cmp dword [ebx + 0x10], 0xfffffffe
jne 0x43e325
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 0x43e353
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebx + 8]
jbe 0x43e353
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 0x43e353
dec edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0044665c
inc edi
jne 0x43e345
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
mov eax, dword [ebx + 0xc]
cmp eax, 0xffffffff
je 0x43e378
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0xc], 0xffffffff
mov esi, 1
jmp 0x43e3f1
cmp dword [ebx + 0x14], 0xffffffff
je 0x43e395
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
mov esi, 1
jmp 0x43e3f1
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.00431320
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x43e3f1
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 0x43e309
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
jbe 0x43e3f1
cmp eax, 0xffffffff
jne 0x43e309
test esi, esi
jne 0x43f4b7
mov dword [ebp - 0x2c], 0xffffffff
mov eax, dword [ebp - 4]
cmp dword [eax + 0x60], 0xffffffff
jne 0x43e417
mov al, byte [ebp - 0x2d]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x43f4c4
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 0x43e43b
dec edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0044665c
inc edi
jne 0x43e42d
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 0x43e45a
mov al, byte [ebp - 0x2d]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x43f4c4
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.0044665c
mov eax, dword [ebp - 4]
cmp dword [eax + 0x50], 0
jne 0x43e4a9
mov al, byte [ebp - 0x2d]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x43f4c4
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 0x43f4b7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e4ec
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435040
jmp 0x43f4c4
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 0x43e51d
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00435040
jmp 0x43f4c4
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.004466bc
jmp 0x43f4b7
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bf70
test al, al
je 0x43f4c4
cmp byte [ebp - 8], 0
je 0x43e55f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0044665c
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0043ca30
test al, al
je 0x43f4c4
jmp 0x43f4b7
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bf70
test al, al
je 0x43f4c4
cmp byte [ebp - 8], 0
je 0x43e5a0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0044665c
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0043d280
test al, al
je 0x43f4c4
jmp 0x43f4b7
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bf70
test al, al
je 0x43f4c4
cmp byte [ebp - 8], 0
je 0x43e5e1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0044665c
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0043c8fc
test al, al
je 0x43f4c4
jmp 0x43f4b7
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bf70
test al, al
je 0x43f4c4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43e643
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435040
cmp byte [ebp - 8], 0
je 0x43f4c4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0044665c
jmp 0x43f4c4
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.0x43e669.0
jmp dword [eax*4 + 0x43e670]
mov eax, dword [ebp - 0x10]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43e718
mov eax, dword [ebp - 0x10]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43e718
mov eax, dword [ebp - 0x10]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43e718
mov eax, dword [ebp - 0x10]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43e718
mov eax, dword [ebp - 0x10]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43e718
mov eax, dword [ebp - 0x10]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x43e718
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00435040
cmp byte [ebp - 8], 0
je 0x43f4c4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0044665c
jmp 0x43f4c4
test esi, esi
je 0x43e72a
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 0x43f4b7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0044665c
jmp 0x43f4b7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x43e764
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435040
jmp 0x43f4c4
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 0x43f4b7
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x43f4b7
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.0043cba8
test al, al
jne 0x43e7e6
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435040
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
jmp 0x43f4c4
lea edx, [ebx + 0x10]
mov eax, dword [ebp - 4]
call fcn.0043cba8
test al, al
jne 0x43e810
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435040
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
jmp 0x43f4c4
lea edx, [ebx + 0x14]
mov eax, dword [ebp - 4]
call fcn.0043cba8
test al, al
jne 0x43e83a
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435040
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
jmp 0x43f4c4
lea edx, [ebx + 0x18]
mov eax, dword [ebp - 4]
call fcn.0043cba8
test al, al
jne 0x43e864
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435040
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
jmp 0x43f4c4
cmp dword [ebx + 0xc], 0xffffffff
je 0x43e873
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0xc], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x43e882
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x10], eax
cmp dword [ebx + 0x14], 0xffffffff
je 0x43e891
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x14], eax
cmp dword [ebx + 0x18], 0xffffffff
je 0x43e8a0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x18], eax
cmp dword [ebx + 0xc], 0xffffffff
je 0x43e8b1
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x43e8e4
cmp dword [ebx + 0x10], 0xffffffff
je 0x43e8c2
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x43e8e4
cmp dword [ebx + 0x14], 0xffffffff
je 0x43e8d3
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x43e8e4
cmp dword [ebx + 0x18], 0xffffffff
je 0x43e8ff
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43e8ff
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435040
mov edx, 0x1c
mov eax, ebx
call fcn.00402660
jmp 0x43f4c4
mov edx, ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.004312d8
jmp 0x43f4b7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43e92e
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435040
jmp 0x43f4c4
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 0x43ea15
je 0x43eaef
dec esi
je 0x43e962
dec esi
je 0x43ebd8
jmp 0x43f4b7
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 0x43e991
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435040
jmp 0x43f4c4
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 0x43e9ba
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435040
jmp 0x43f4c4
mov dword [ebx + 0x10], 0xffffffff
cmp dword [ebx + 0x14], 0xffffffff
je 0x43e9dc
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x43f4b7
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.00431320
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43ea0a
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x43f4b7
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x43f4b7
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 0x43ea3e
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435040
jmp 0x43f4c4
cmp dword [ebx + 0xc], 0xffffffff
je 0x43ea59
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0xc], 0xffffffff
jmp 0x43f4b7
cmp dword [ebx + 0x14], 0xffffffff
je 0x43ea74
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xffffffff
jmp 0x43f4b7
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.00431320
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43ead0
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 0x43f4b7
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43eae4
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x43f4b7
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x43f4b7
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 0x43eb18
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435040
jmp 0x43f4c4
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43eb42
cmp dword [ebx + 0x10], 0xffffffff
je 0x43eb42
cmp dword [ebx + 0x10], 0xfffffffe
je 0x43eb42
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xfffffffe
jmp 0x43f4b7
cmp dword [ebx + 0x14], 0xffffffff
je 0x43eb5d
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x43f4b7
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.00431320
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43ebb9
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 0x43f4b7
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43ebcd
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x43f4b7
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x43f4b7
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 0x43ec01
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435040
jmp 0x43f4c4
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.00431320
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x43ec5d
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 0x43f4b7
cmp dword [ebp - 0x2c], 0xffffffff
je 0x43ec71
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x43f4b7
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x43f4b7
lea edx, [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043bf70
test al, al
je 0x43f4c4
cmp byte [ebp - 8], 0
je 0x43ecb1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0044665c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435040
jmp 0x43f4c4
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0xc], 0xd
je 0x43ecc9
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435040
jmp 0x43f4c4
lea edx, [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043bf70
test al, al
je 0x43f4c4
mov eax, dword [ebp - 0x10]
add eax, 8
cmp dword [eax], 0
je 0x43ecfb
mov eax, dword [ebp - 0x10]
add eax, 4
mov edx, dword [eax]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
call fcn.0043336c
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xc], 0xd
jne 0x43eda0
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
je 0x43ed83
mov eax, dword [ebp - 0x1c]
add eax, 4
mov eax, dword [eax]
call fcn.00433350
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.00435c88
test al, al
jne 0x43edfe
cmp byte [ebp - 0x14], 0
je 0x43ed74
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0044665c
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00435040
jmp 0x43f4c4
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 0x43edfe
mov eax, dword [ebp - 0x18]
call fcn.00433350
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.00435c88
test al, al
jne 0x43edfe
cmp byte [ebp - 0x14], 0
je 0x43edef
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0044665c
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00435040
jmp 0x43f4c4
cmp byte [ebp - 0x14], 0
je 0x43f4b7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0044665c
jmp 0x43f4b7
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bf70
test al, al
je 0x43f4c4
cmp byte [ebp - 8], 0
je 0x43ee4d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0044665c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435040
jmp 0x43f4c4
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43ee59.0
jmp dword [eax*4 + 0x43ee60]
mov eax, dword [ebp - 0x10]
dec byte [eax]
jmp 0x43f4b7
mov eax, dword [ebp - 0x10]
dec byte [eax]
jmp 0x43f4b7
mov eax, dword [ebp - 0x10]
dec word [eax]
jmp 0x43f4b7
mov eax, dword [ebp - 0x10]
dec word [eax]
jmp 0x43f4b7
mov eax, dword [ebp - 0x10]
dec dword [eax]
jmp 0x43f4b7
mov eax, dword [ebp - 0x10]
dec dword [eax]
jmp 0x43f4b7
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00435040
jmp 0x43f4c4
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bf70
test al, al
je 0x43f4c4
cmp byte [ebp - 8], 0
je 0x43eefe
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0044665c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435040
jmp 0x43f4c4
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x43ef0a.0
jmp dword [eax*4 + 0x43ef11]
mov eax, dword [ebp - 0x10]
inc byte [eax]
jmp 0x43f4b7
mov eax, dword [ebp - 0x10]
inc byte [eax]
jmp 0x43f4b7
mov eax, dword [ebp - 0x10]
inc word [eax]
jmp 0x43f4b7
mov eax, dword [ebp - 0x10]
inc word [eax]
jmp 0x43f4b7
mov eax, dword [ebp - 0x10]
inc dword [eax]
jmp 0x43f4b7
mov eax, dword [ebp - 0x10]
inc dword [eax]
jmp 0x43f4b7
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00435040
jmp 0x43f4c4
lea edx, [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043bf70
test al, al
je 0x43f4c4
cmp byte [ebp - 8], 0
je 0x43efaf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0044665c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435040
jmp 0x43f4c4
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0xc], 0xd
je 0x43efc7
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435040
jmp 0x43f4c4
lea edx, [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0043bf70
test al, al
je 0x43f4c4
cmp byte [ebp - 0x14], 0
je 0x43effc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0044665c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435040
jmp 0x43f4c4
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xc], 0xd
jne 0x43f024
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 0x43f4b7
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 0x43f4b7
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bf70
test al, al
je 0x43f4c4
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0xc], 0x15
je 0x43f07a
cmp byte [ebp - 8], 0
je 0x43f06b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0044665c
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00435040
jmp 0x43f4c4
mov eax, dword [ebp - 0x10]
mov esi, dword [eax]
cmp byte [ebp - 8], 0
je 0x43f090
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0044665c
test esi, esi
jne 0x43f0c8
mov eax, dword [ebp - 0x10]
add eax, 8
cmp dword [eax], 0
je 0x43f0c8
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.0044509c
test al, al
je 0x43f4c4
jmp 0x43f4b7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp esi, dword [eax + 0xc]
jae 0x43f0db
mov eax, dword [ebp - 4]
cmp esi, dword [eax + 0x48]
jne 0x43f0ea
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.00435040
jmp 0x43f4c4
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, 0x431610
jne 0x43f130
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 0x43f4b7
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.00435040
jmp 0x43f4b7
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004466bc
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 0x43f4b7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x43f1bc
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00435040
jmp 0x43f4c4
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.0043bf70
test al, al
je 0x43f4c4
cmp byte [ebp - 0x20], 0
je 0x43f28b
mov eax, dword [ebp - 0x24]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43f20a
sub al, 2
je 0x43f20a
sub al, 6
je 0x43f20a
sub al, 4
jne 0x43f215
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
call fcn.00433150
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 0x43f24e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431278
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 0x43f27c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446468
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00435040
jmp 0x43f4c4
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bf70
test al, al
je 0x43f4c4
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0043bf70
test al, al
jne 0x43f364
cmp byte [ebp - 0x14], 0
je 0x43f4c4
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43f2d7
sub al, 2
je 0x43f2d7
sub al, 6
je 0x43f2d7
sub al, 4
jne 0x43f2e2
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00433150
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 0x43f32d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431278
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 0x43f4c4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446468
jmp 0x43f4c4
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.004370fc
cmp byte [ebp - 8], 0
je 0x43f417
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43f3a5
sub al, 2
je 0x43f3a5
sub al, 6
je 0x43f3a5
sub al, 4
jne 0x43f3b0
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.00433150
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 0x43f3e9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431278
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 0x43f417
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446468
cmp byte [ebp - 0x14], 0
je 0x43f4b7
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x43f439
sub al, 2
je 0x43f439
sub al, 6
je 0x43f439
sub al, 4
jne 0x43f444
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00433150
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 0x43f47d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00431278
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 0x43f4b7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00446468
jmp 0x43f4b7
mov dl, 5
mov eax, dword [ebp - 4]
call fcn.00435040
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x43d4c7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x43f4dd
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x43d4bb
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x43f521
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x43f506
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0044665c
dec esi
cmp esi, 0xffffffff
jne 0x43f4f5
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 0x43f521
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