Function at 0x42dc58
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 0x42dcab
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x42dca1
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.00402664
dec esi
cmp esi, 0xffffffff
jne 0x42dc83
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 0x42dcdb
sub al, 2
je 0x42dd64
jmp 0x42dd6d
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
jne 0x42dceb
xor ebx, ebx
jmp 0x42fdfb
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.00402b64
cmp eax, 0x421ee0
jne 0x42dd32
mov dl, 7
mov eax, dword [ebp - 4]
call fcn.00425910
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 1
jmp 0x42fdfb
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 0x42dd74
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x42dd74
xor ebx, ebx
jmp 0x42fdfb
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.0042dc38
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x42fd87
cmp dword [ebp - 0x34], 0
je 0x42dda3
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 0x42ddc0
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00425910
jmp 0x42fd94
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 0x42de29
je 0x42f84a
cmp eax, 0xd
ja case.default.0x42de40
jmp dword [eax*4 + 0x42ddf1]
cmp eax, 0x15
jg 0x42de5f
je 0x42ee4a
add eax, 0xfffffff1
cmp eax, 5
ja case.default.0x42de40
jmp dword [eax*4 + 0x42de47]
cmp eax, 0x19
jg 0x42de86
je 0x42e8a9
sub eax, 0x16
je 0x42f54c
dec eax
je 0x42f799
dec eax
je 0x42f6e8
jmp case.default.0x42de40
sub eax, 0x1a
je 0x42e8f6
sub eax, 0xe5
je 0x42fd87
jmp case.default.0x42de40
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0042c840
test al, al
je 0x42fd94
cmp byte [ebp - 8], 0
je 0x42df57
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x42ded6
sub al, 2
je 0x42ded6
sub al, 6
je 0x42ded6
sub al, 4
jne 0x42dee1
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.00423a20
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 0x42df1a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00421b48
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 0x42df48
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00436ee0
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00425910
jmp 0x42fd94
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0042c840
test al, al
je 0x42fd94
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.00426d54
test al, al
jne 0x42e039
cmp byte [ebp - 0x14], 0
je 0x42fd94
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x42dfac
sub al, 2
je 0x42dfac
sub al, 6
je 0x42dfac
sub al, 4
jne 0x42dfb7
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00423a20
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 0x42e002
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00421b48
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 0x42fd94
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00436ee0
jmp 0x42fd94
cmp byte [ebp - 0x14], 0
je 0x42fd87
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x42e05b
sub al, 2
je 0x42e05b
sub al, 6
je 0x42e05b
sub al, 4
jne 0x42e066
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00423a20
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 0x42e09f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00421b48
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 0x42fd87
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00436ee0
jmp 0x42fd87
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x42e0f3
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00425910
jmp 0x42fd94
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.0042c840
test al, al
je 0x42fd94
cmp byte [ebp - 8], 0
je 0x42e1c2
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x42e141
sub al, 2
je 0x42e141
sub al, 6
je 0x42e141
sub al, 4
jne 0x42e14c
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.00423a20
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 0x42e185
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00421b48
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 0x42e1b3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00436ee0
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00425910
jmp 0x42fd94
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0042c840
test al, al
je 0x42fd94
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.004295e8
test al, al
jne 0x42e2a5
cmp byte [ebp - 0x14], 0
je 0x42fd94
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x42e218
sub al, 2
je 0x42e218
sub al, 6
je 0x42e218
sub al, 4
jne 0x42e223
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00423a20
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 0x42e26e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00421b48
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 0x42fd94
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00436ee0
jmp 0x42fd94
cmp byte [ebp - 0x14], 0
je 0x42fd87
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x42e2c7
sub al, 2
je 0x42e2c7
sub al, 6
je 0x42e2c7
sub al, 4
jne 0x42e2d2
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00423a20
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 0x42e30b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00421b48
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 0x42fd87
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00436ee0
jmp 0x42fd87
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0042c840
test al, al
je 0x42fd94
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00437154
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.00426d54
test al, al
jne 0x42e445
cmp byte [ebp - 0x14], 0
je 0x42fd94
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x42e3b8
sub al, 2
je 0x42e3b8
sub al, 6
je 0x42e3b8
sub al, 4
jne 0x42e3c3
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00423a20
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 0x42e40e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00421b48
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 0x42fd94
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00436ee0
jmp 0x42fd94
cmp byte [ebp - 0x14], 0
je 0x42fd87
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x42e467
sub al, 2
je 0x42e467
sub al, 6
je 0x42e467
sub al, 4
jne 0x42e472
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00423a20
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 0x42e4ab
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00421b48
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 0x42fd87
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00436ee0
jmp 0x42fd87
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0042c840
test al, al
je 0x42fd94
cmp byte [ebp - 0x14], 0
je 0x42e517
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004370f4
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00425910
jmp 0x42fd94
mov dl, 0xd
mov eax, dword [ebp - 4]
call fcn.0042d86c
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00437154
mov esi, eax
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xc], 0xd
jne 0x42e556
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 0x42fd87
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 0x42fd87
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
cmp dword [eax + 0xc], 0
jne 0x42e587
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.00425910
jmp 0x42fd94
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 0x42e5a3
mov eax, dword [esi]
cmp byte [eax + 0xc], 0
jne 0x42e5b2
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.00425910
jmp 0x42fd94
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 0x42e5de
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00421b48
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 0x42e609
sub al, 2
je 0x42e609
sub al, 6
je 0x42e609
sub al, 4
jne 0x42e615
mov edx, dword [esi]
mov eax, esi
add eax, 4
call fcn.00423a20
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 0x42fd87
call fcn.00436ee0
jmp 0x42fd87
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x42e657
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00425910
jmp 0x42fd94
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 0x42e688
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.00425910
jmp 0x42fd94
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.00402b64
cmp eax, 0x421ee0
jne 0x42e829
xor eax, eax
push ebp
push 0x42e6fa
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 0x42e6ed
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x42e6e0
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.00425910
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x42fd94
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x42fd87
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00437154
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 0x42fd87
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004370f4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x42e8d4
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00425910
jmp 0x42fd94
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 0x42fd87
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004370f4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004370f4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x42e92c
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00425910
jmp 0x42fd94
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 0x42fd87
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x42e96e
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00425910
jmp 0x42fd94
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 0x42fd87
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x42e9b0
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00425910
jmp 0x42fd94
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.0042c840
test al, al
je 0x42fd94
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x42e9ea.0
jmp dword [eax*4 + 0x42e9f1]
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
setne bl
jmp 0x42ea75
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
setne bl
jmp 0x42ea75
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
setne bl
jmp 0x42ea75
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
setne bl
jmp 0x42ea75
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
setne bl
jmp 0x42ea75
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
setne bl
jmp 0x42ea75
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00425910
cmp byte [ebp - 0x14], 0
je 0x42fd94
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004370f4
jmp 0x42fd94
cmp byte [ebp - 0x14], 0
je 0x42ea86
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004370f4
test bl, bl
je 0x42fd87
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x42fd87
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x42eab9
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00425910
jmp 0x42fd94
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.0042c840
test al, al
je 0x42fd94
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x42eaf3.0
jmp dword [eax*4 + 0x42eafa]
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
sete bl
jmp 0x42eb7e
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
sete bl
jmp 0x42eb7e
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
sete bl
jmp 0x42eb7e
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0
sete bl
jmp 0x42eb7e
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
sete bl
jmp 0x42eb7e
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
sete bl
jmp 0x42eb7e
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00425910
cmp byte [ebp - 0x14], 0
je 0x42fd94
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004370f4
jmp 0x42fd94
cmp byte [ebp - 0x14], 0
je 0x42eb8f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004370f4
test bl, bl
je 0x42fd87
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x42fd87
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 0x42ecc1
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 0x42ec9e
cmp dword [ebx + 0x10], 0xfffffffe
jne 0x42ebf5
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 0x42ec23
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebx + 8]
jbe 0x42ec23
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 0x42ec23
dec edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004370f4
inc edi
jne 0x42ec15
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
mov eax, dword [ebx + 0xc]
cmp eax, 0xffffffff
je 0x42ec48
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0xc], 0xffffffff
mov esi, 1
jmp 0x42ecc1
cmp dword [ebx + 0x14], 0xffffffff
je 0x42ec65
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
mov esi, 1
jmp 0x42ecc1
mov edx, 0x1c
mov eax, ebx
call fcn.00402664
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.00421bf0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x42ecc1
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 0x42ebd9
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
jbe 0x42ecc1
cmp eax, 0xffffffff
jne 0x42ebd9
test esi, esi
jne 0x42fd87
mov dword [ebp - 0x2c], 0xffffffff
mov eax, dword [ebp - 4]
cmp dword [eax + 0x60], 0xffffffff
jne 0x42ece7
mov al, byte [ebp - 0x2d]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x42fd94
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 0x42ed0b
dec edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004370f4
inc edi
jne 0x42ecfd
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 0x42ed2a
mov al, byte [ebp - 0x2d]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x42fd94
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.004370f4
mov eax, dword [ebp - 4]
cmp dword [eax + 0x50], 0
jne 0x42ed79
mov al, byte [ebp - 0x2d]
mov edx, dword [ebp - 4]
mov byte [edx + 0x4c], al
jmp 0x42fd94
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 0x42fd87
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x42edbc
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00425910
jmp 0x42fd94
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 0x42eded
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00425910
jmp 0x42fd94
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.00437154
jmp 0x42fd87
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0042c840
test al, al
je 0x42fd94
cmp byte [ebp - 8], 0
je 0x42ee2f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004370f4
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0042d300
test al, al
je 0x42fd94
jmp 0x42fd87
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0042c840
test al, al
je 0x42fd94
cmp byte [ebp - 8], 0
je 0x42ee70
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004370f4
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0042db50
test al, al
je 0x42fd94
jmp 0x42fd87
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0042c840
test al, al
je 0x42fd94
cmp byte [ebp - 8], 0
je 0x42eeb1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004370f4
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0042d1cc
test al, al
je 0x42fd94
jmp 0x42fd87
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0042c840
test al, al
je 0x42fd94
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x42ef13
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00425910
cmp byte [ebp - 8], 0
je 0x42fd94
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004370f4
jmp 0x42fd94
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.0x42ef39.0
jmp dword [eax*4 + 0x42ef40]
mov eax, dword [ebp - 0x10]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x42efe8
mov eax, dword [ebp - 0x10]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x42efe8
mov eax, dword [ebp - 0x10]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x42efe8
mov eax, dword [ebp - 0x10]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x42efe8
mov eax, dword [ebp - 0x10]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x42efe8
mov eax, dword [ebp - 0x10]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x42efe8
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00425910
cmp byte [ebp - 8], 0
je 0x42fd94
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004370f4
jmp 0x42fd94
test esi, esi
je 0x42effa
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 0x42fd87
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004370f4
jmp 0x42fd87
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jl 0x42f034
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00425910
jmp 0x42fd94
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 0x42fd87
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x42fd87
mov eax, 0x1c
call fcn.0040264c
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.0042d478
test al, al
jne 0x42f0b6
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00425910
mov edx, 0x1c
mov eax, ebx
call fcn.00402664
jmp 0x42fd94
lea edx, [ebx + 0x10]
mov eax, dword [ebp - 4]
call fcn.0042d478
test al, al
jne 0x42f0e0
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00425910
mov edx, 0x1c
mov eax, ebx
call fcn.00402664
jmp 0x42fd94
lea edx, [ebx + 0x14]
mov eax, dword [ebp - 4]
call fcn.0042d478
test al, al
jne 0x42f10a
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00425910
mov edx, 0x1c
mov eax, ebx
call fcn.00402664
jmp 0x42fd94
lea edx, [ebx + 0x18]
mov eax, dword [ebp - 4]
call fcn.0042d478
test al, al
jne 0x42f134
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00425910
mov edx, 0x1c
mov eax, ebx
call fcn.00402664
jmp 0x42fd94
cmp dword [ebx + 0xc], 0xffffffff
je 0x42f143
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0xc], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x42f152
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x10], eax
cmp dword [ebx + 0x14], 0xffffffff
je 0x42f161
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x14], eax
cmp dword [ebx + 0x18], 0xffffffff
je 0x42f170
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x18], eax
cmp dword [ebx + 0xc], 0xffffffff
je 0x42f181
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x42f1b4
cmp dword [ebx + 0x10], 0xffffffff
je 0x42f192
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x42f1b4
cmp dword [ebx + 0x14], 0xffffffff
je 0x42f1a3
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x42f1b4
cmp dword [ebx + 0x18], 0xffffffff
je 0x42f1cf
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x42f1cf
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00425910
mov edx, 0x1c
mov eax, ebx
call fcn.00402664
jmp 0x42fd94
mov edx, ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.00421ba8
jmp 0x42fd87
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x42f1fe
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00425910
jmp 0x42fd94
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 0x42f2e5
je 0x42f3bf
dec esi
je 0x42f232
dec esi
je 0x42f4a8
jmp 0x42fd87
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 0x42f261
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00425910
jmp 0x42fd94
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 0x42f28a
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00425910
jmp 0x42fd94
mov dword [ebx + 0x10], 0xffffffff
cmp dword [ebx + 0x14], 0xffffffff
je 0x42f2ac
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x42fd87
mov esi, dword [ebx + 0x18]
mov edx, 0x1c
mov eax, ebx
call fcn.00402664
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.00421bf0
cmp dword [ebp - 0x2c], 0xffffffff
je 0x42f2da
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x42fd87
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x42fd87
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 0x42f30e
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00425910
jmp 0x42fd94
cmp dword [ebx + 0xc], 0xffffffff
je 0x42f329
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0xc], 0xffffffff
jmp 0x42fd87
cmp dword [ebx + 0x14], 0xffffffff
je 0x42f344
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xffffffff
jmp 0x42fd87
mov esi, dword [ebx + 0x18]
mov edx, 0x1c
mov eax, ebx
call fcn.00402664
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.00421bf0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x42f3a0
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 0x42fd87
cmp dword [ebp - 0x2c], 0xffffffff
je 0x42f3b4
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x42fd87
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x42fd87
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 0x42f3e8
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00425910
jmp 0x42fd94
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x42f412
cmp dword [ebx + 0x10], 0xffffffff
je 0x42f412
cmp dword [ebx + 0x10], 0xfffffffe
je 0x42f412
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xfffffffe
jmp 0x42fd87
cmp dword [ebx + 0x14], 0xffffffff
je 0x42f42d
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x42fd87
mov esi, dword [ebx + 0x18]
mov edx, 0x1c
mov eax, ebx
call fcn.00402664
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.00421bf0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x42f489
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 0x42fd87
cmp dword [ebp - 0x2c], 0xffffffff
je 0x42f49d
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x42fd87
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x42fd87
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 0x42f4d1
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00425910
jmp 0x42fd94
mov esi, dword [ebx + 0x18]
mov edx, 0x1c
mov eax, ebx
call fcn.00402664
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.00421bf0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x42f52d
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 0x42fd87
cmp dword [ebp - 0x2c], 0xffffffff
je 0x42f541
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
jmp 0x42fd87
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x42fd87
lea edx, [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0042c840
test al, al
je 0x42fd94
cmp byte [ebp - 8], 0
je 0x42f581
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004370f4
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00425910
jmp 0x42fd94
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0xc], 0xd
je 0x42f599
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00425910
jmp 0x42fd94
lea edx, [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0042c840
test al, al
je 0x42fd94
mov eax, dword [ebp - 0x10]
add eax, 8
cmp dword [eax], 0
je 0x42f5cb
mov eax, dword [ebp - 0x10]
add eax, 4
mov edx, dword [eax]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
call fcn.00423c3c
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xc], 0xd
jne 0x42f670
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
je 0x42f653
mov eax, dword [ebp - 0x1c]
add eax, 4
mov eax, dword [eax]
call fcn.00423c20
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.00426558
test al, al
jne 0x42f6ce
cmp byte [ebp - 0x14], 0
je 0x42f644
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004370f4
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00425910
jmp 0x42fd94
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 0x42f6ce
mov eax, dword [ebp - 0x18]
call fcn.00423c20
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.00426558
test al, al
jne 0x42f6ce
cmp byte [ebp - 0x14], 0
je 0x42f6bf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004370f4
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00425910
jmp 0x42fd94
cmp byte [ebp - 0x14], 0
je 0x42fd87
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004370f4
jmp 0x42fd87
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0042c840
test al, al
je 0x42fd94
cmp byte [ebp - 8], 0
je 0x42f71d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004370f4
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00425910
jmp 0x42fd94
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x42f729.0
jmp dword [eax*4 + 0x42f730]
mov eax, dword [ebp - 0x10]
dec byte [eax]
jmp 0x42fd87
mov eax, dword [ebp - 0x10]
dec byte [eax]
jmp 0x42fd87
mov eax, dword [ebp - 0x10]
dec word [eax]
jmp 0x42fd87
mov eax, dword [ebp - 0x10]
dec word [eax]
jmp 0x42fd87
mov eax, dword [ebp - 0x10]
dec dword [eax]
jmp 0x42fd87
mov eax, dword [ebp - 0x10]
dec dword [eax]
jmp 0x42fd87
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00425910
jmp 0x42fd94
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0042c840
test al, al
je 0x42fd94
cmp byte [ebp - 8], 0
je 0x42f7ce
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004370f4
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00425910
jmp 0x42fd94
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x42f7da.0
jmp dword [eax*4 + 0x42f7e1]
mov eax, dword [ebp - 0x10]
inc byte [eax]
jmp 0x42fd87
mov eax, dword [ebp - 0x10]
inc byte [eax]
jmp 0x42fd87
mov eax, dword [ebp - 0x10]
inc word [eax]
jmp 0x42fd87
mov eax, dword [ebp - 0x10]
inc word [eax]
jmp 0x42fd87
mov eax, dword [ebp - 0x10]
inc dword [eax]
jmp 0x42fd87
mov eax, dword [ebp - 0x10]
inc dword [eax]
jmp 0x42fd87
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00425910
jmp 0x42fd94
lea edx, [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0042c840
test al, al
je 0x42fd94
cmp byte [ebp - 8], 0
je 0x42f87f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004370f4
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00425910
jmp 0x42fd94
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0xc], 0xd
je 0x42f897
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00425910
jmp 0x42fd94
lea edx, [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0042c840
test al, al
je 0x42fd94
cmp byte [ebp - 0x14], 0
je 0x42f8cc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004370f4
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00425910
jmp 0x42fd94
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xc], 0xd
jne 0x42f8f4
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 0x42fd87
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 0x42fd87
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0042c840
test al, al
je 0x42fd94
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0xc], 0x15
je 0x42f94a
cmp byte [ebp - 8], 0
je 0x42f93b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004370f4
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00425910
jmp 0x42fd94
mov eax, dword [ebp - 0x10]
mov esi, dword [eax]
cmp byte [ebp - 8], 0
je 0x42f960
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004370f4
test esi, esi
jne 0x42f998
mov eax, dword [ebp - 0x10]
add eax, 8
cmp dword [eax], 0
je 0x42f998
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.00435b14
test al, al
je 0x42fd94
jmp 0x42fd87
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp esi, dword [eax + 0xc]
jae 0x42f9ab
mov eax, dword [ebp - 4]
cmp esi, dword [eax + 0x48]
jne 0x42f9ba
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.00425910
jmp 0x42fd94
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.00402b64
cmp eax, 0x421ee0
jne 0x42fa00
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 0x42fd87
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.00425910
jmp 0x42fd87
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00437154
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 0x42fd87
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x42fa8c
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00425910
jmp 0x42fd94
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.0042c840
test al, al
je 0x42fd94
cmp byte [ebp - 0x20], 0
je 0x42fb5b
mov eax, dword [ebp - 0x24]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x42fada
sub al, 2
je 0x42fada
sub al, 6
je 0x42fada
sub al, 4
jne 0x42fae5
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
call fcn.00423a20
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 0x42fb1e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00421b48
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 0x42fb4c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00436ee0
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00425910
jmp 0x42fd94
lea edx, [ebp - 0x1c]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0042c840
test al, al
je 0x42fd94
lea edx, [ebp - 0x10]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0042c840
test al, al
jne 0x42fc34
cmp byte [ebp - 0x14], 0
je 0x42fd94
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x42fba7
sub al, 2
je 0x42fba7
sub al, 6
je 0x42fba7
sub al, 4
jne 0x42fbb2
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00423a20
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 0x42fbfd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00421b48
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 0x42fd94
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00436ee0
jmp 0x42fd94
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.004279cc
cmp byte [ebp - 8], 0
je 0x42fce7
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x42fc75
sub al, 2
je 0x42fc75
sub al, 6
je 0x42fc75
sub al, 4
jne 0x42fc80
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.00423a20
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 0x42fcb9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00421b48
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 0x42fce7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00436ee0
cmp byte [ebp - 0x14], 0
je 0x42fd87
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x42fd09
sub al, 2
je 0x42fd09
sub al, 6
je 0x42fd09
sub al, 4
jne 0x42fd14
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
call fcn.00423a20
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 0x42fd4d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00421b48
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 0x42fd87
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00436ee0
jmp 0x42fd87
mov dl, 5
mov eax, dword [ebp - 4]
call fcn.00425910
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x42dd97
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x42fdad
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x42dd8b
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x42fdf1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x42fdd6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004370f4
dec esi
cmp esi, 0xffffffff
jne 0x42fdc5
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 0x42fdf1
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