Function at 0x45fcc4
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd4
push ebx
push esi
push edi
mov dword [ebp - 4], eax
mov dword [ebp - 0x24], 0xffffffff
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x45fd17
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x45fd0d
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.00402734
dec esi
cmp esi, 0xffffffff
jne 0x45fcef
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 - 0x25], al
dec al
je 0x45fd47
sub al, 2
je 0x45fdd1
jmp 0x45fdda
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
jne 0x45fd57
xor ebx, ebx
jmp 0x461e67
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4]
mov edx, dword [ebp - 4]
mov dword [edx + 0x50], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
call fcn.00402d90
cmp eax, dword [0x453a68]
jne 0x45fd9f
mov dl, 7
mov eax, dword [ebp - 4]
call fcn.0045773c
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 1
jmp 0x461e67
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 0x45fde1
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x45fde1
xor ebx, ebx
jmp 0x461e67
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.0045fca4
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x461df2
cmp dword [ebp - 0x2c], 0
je 0x45fe10
mov eax, dword [ebp - 4]
call dword [ebp - 0x2c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x45fe2d
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0045773c
jmp 0x461dff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
movzx eax, byte [edx + eax]
mov edx, dword [ebp - 4]
inc dword [edx + 0x5c]
cmp eax, 0xe
jg 0x45fe96
je 0x4618b4
cmp eax, 0xd
ja case.default.0x45fead
jmp dword [eax*4 + 0x45fe5e]
cmp eax, 0x15
jg 0x45fecc
je 0x460eb3
add eax, 0xfffffff1
cmp eax, 5
ja case.default.0x45fead
jmp dword [eax*4 + 0x45feb4]
cmp eax, 0x19
jg 0x45fef3
je 0x46090c
sub eax, 0x16
je 0x4615b6
dec eax
je 0x461803
dec eax
je 0x461752
jmp case.default.0x45fead
sub eax, 0x1a
je 0x46095a
sub eax, 0xe5
je 0x461df2
jmp case.default.0x45fead
lea edx, [ebp - 0xd]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0045e890
test al, al
je 0x461dff
cmp byte [ebp - 5], 0
je 0x45ffc4
mov eax, dword [ebp - 9]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x45ff43
sub al, 2
je 0x45ff43
sub al, 6
je 0x45ff43
sub al, 4
jne 0x45ff4e
mov edx, dword [ebp - 9]
mov eax, dword [ebp - 0xd]
call fcn.00455818
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
jbe 0x45ff87
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004532b0
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 0x45ffb5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00468e9c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0045773c
jmp 0x461dff
lea edx, [ebp - 0x16]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0045e890
test al, al
je 0x461dff
mov eax, dword [ebp - 9]
push eax
mov eax, dword [ebp - 0x12]
push eax
mov ecx, dword [ebp - 0x16]
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 4]
call fcn.00458a48
test al, al
jne 0x4600a6
cmp byte [ebp - 0xe], 0
je 0x461dff
mov eax, dword [ebp - 0x12]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x460019
sub al, 2
je 0x460019
sub al, 6
je 0x460019
sub al, 4
jne 0x460024
mov edx, dword [ebp - 0x12]
mov eax, dword [ebp - 0x16]
call fcn.00455818
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
jbe 0x46006f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004532b0
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 0x461dff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00468e9c
jmp 0x461dff
cmp byte [ebp - 0xe], 0
je 0x461df2
mov eax, dword [ebp - 0x12]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x4600c8
sub al, 2
je 0x4600c8
sub al, 6
je 0x4600c8
sub al, 4
jne 0x4600d3
mov edx, dword [ebp - 0x12]
mov eax, dword [ebp - 0x16]
call fcn.00455818
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
jbe 0x46010c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004532b0
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 0x461df2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00468e9c
jmp 0x461df2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x460160
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0045773c
jmp 0x461dff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
xor ebx, ebx
mov bl, byte [edx + eax]
mov eax, dword [ebp - 4]
inc dword [eax + 0x5c]
lea edx, [ebp - 0xd]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0045e890
test al, al
je 0x461dff
cmp byte [ebp - 5], 0
je 0x46022f
mov eax, dword [ebp - 9]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x4601ae
sub al, 2
je 0x4601ae
sub al, 6
je 0x4601ae
sub al, 4
jne 0x4601b9
mov edx, dword [ebp - 9]
mov eax, dword [ebp - 0xd]
call fcn.00455818
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
jbe 0x4601f2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004532b0
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 0x460220
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00468e9c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0045773c
jmp 0x461dff
lea edx, [ebp - 0x16]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0045e890
test al, al
je 0x461dff
mov eax, dword [ebp - 9]
push eax
mov eax, dword [ebp - 0x12]
push eax
push ebx
mov ecx, dword [ebp - 0x16]
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 4]
call fcn.0045b440
test al, al
jne 0x460312
cmp byte [ebp - 0xe], 0
je 0x461dff
mov eax, dword [ebp - 0x12]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x460285
sub al, 2
je 0x460285
sub al, 6
je 0x460285
sub al, 4
jne 0x460290
mov edx, dword [ebp - 0x12]
mov eax, dword [ebp - 0x16]
call fcn.00455818
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
jbe 0x4602db
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004532b0
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 0x461dff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00468e9c
jmp 0x461dff
cmp byte [ebp - 0xe], 0
je 0x461df2
mov eax, dword [ebp - 0x12]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x460334
sub al, 2
je 0x460334
sub al, 6
je 0x460334
sub al, 4
jne 0x46033f
mov edx, dword [ebp - 0x12]
mov eax, dword [ebp - 0x16]
call fcn.00455818
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
jbe 0x460378
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004532b0
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 0x461df2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00468e9c
jmp 0x461df2
lea edx, [ebp - 0x16]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0045e890
test al, al
je 0x461dff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0x12]
call fcn.004690fc
mov esi, eax
mov eax, esi
add eax, 4
mov dword [ebp - 0xd], eax
mov eax, dword [esi]
mov dword [ebp - 9], eax
mov byte [ebp - 5], 0
mov eax, dword [ebp - 9]
push eax
mov eax, dword [ebp - 0x12]
push eax
mov ecx, dword [ebp - 0x16]
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 4]
call fcn.00458a48
test al, al
jne 0x4604b2
cmp byte [ebp - 0xe], 0
je 0x461dff
mov eax, dword [ebp - 0x12]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x460425
sub al, 2
je 0x460425
sub al, 6
je 0x460425
sub al, 4
jne 0x460430
mov edx, dword [ebp - 0x12]
mov eax, dword [ebp - 0x16]
call fcn.00455818
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
jbe 0x46047b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004532b0
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 0x461dff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00468e9c
jmp 0x461dff
cmp byte [ebp - 0xe], 0
je 0x461df2
mov eax, dword [ebp - 0x12]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x4604d4
sub al, 2
je 0x4604d4
sub al, 6
je 0x4604d4
sub al, 4
jne 0x4604df
mov edx, dword [ebp - 0x12]
mov eax, dword [ebp - 0x16]
call fcn.00455818
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
jbe 0x460518
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004532b0
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 0x461df2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00468e9c
jmp 0x461df2
lea edx, [ebp - 0x16]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0045e890
test al, al
je 0x461dff
cmp byte [ebp - 0xe], 0
je 0x460584
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0046909c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0045773c
jmp 0x461dff
mov dl, 0xd
mov eax, dword [ebp - 4]
call fcn.0045f8c0
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004690fc
mov esi, eax
mov eax, dword [ebp - 0x12]
cmp byte [eax + 0xc], 0xd
jne 0x4605c3
mov eax, dword [ebp - 0x16]
mov eax, dword [eax]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x16]
add eax, 4
mov eax, dword [eax]
mov dword [esi + 8], eax
xor eax, eax
mov dword [esi + 0xc], eax
jmp 0x461df2
mov eax, dword [ebp - 0x16]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x12]
mov dword [esi + 8], eax
xor eax, eax
mov dword [esi + 0xc], eax
jmp 0x461df2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
cmp dword [eax + 0xc], 0
jne 0x4605f4
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.0045773c
jmp 0x461dff
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 0x460610
mov eax, dword [esi]
cmp byte [eax + 0xc], 0
jne 0x46061f
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.0045773c
jmp 0x461dff
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
jbe 0x46064b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004532b0
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 0x460676
sub al, 2
je 0x460676
sub al, 6
je 0x460676
sub al, 4
jne 0x460682
mov edx, dword [esi]
mov eax, esi
add eax, 4
call fcn.00455818
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 0x461df2
call fcn.00468e9c
jmp 0x461df2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4606c4
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0045773c
jmp 0x461dff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
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 0x4606f6
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.0045773c
jmp 0x461dff
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.00402d90
cmp eax, dword [0x453a68]
jne 0x46088c
xor eax, eax
push ebp
push 0x460769
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 0x46075c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x46074f
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.0045773c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x461dff
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x461df2
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004690fc
mov esi, eax
mov eax, esi
add eax, 4
mov dword [ebp - 0xd], eax
mov eax, dword [esi]
mov dword [ebp - 9], eax
mov byte [ebp - 5], 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 0x461df2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0046909c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x460937
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0045773c
jmp 0x461dff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
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 0x461df2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0046909c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0046909c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x460990
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0045773c
jmp 0x461dff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
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 0x461df2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4609d3
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0045773c
jmp 0x461dff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
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 0x461df2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x460a16
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0045773c
jmp 0x461dff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov esi, dword [eax]
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov bl, 1
lea edx, [ebp - 0x16]
mov ecx, ebx
mov eax, dword [ebp - 4]
call fcn.0045e890
test al, al
je 0x461dff
mov eax, dword [ebp - 0x12]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x460a51.0
jmp dword [eax*4 + 0x460a58]
mov eax, dword [ebp - 0x16]
cmp byte [eax], 0
setne bl
jmp 0x460adc
mov eax, dword [ebp - 0x16]
cmp byte [eax], 0
setne bl
jmp 0x460adc
mov eax, dword [ebp - 0x16]
cmp word [eax], 0
setne bl
jmp 0x460adc
mov eax, dword [ebp - 0x16]
cmp word [eax], 0
setne bl
jmp 0x460adc
mov eax, dword [ebp - 0x16]
cmp dword [eax], 0
setne bl
jmp 0x460adc
mov eax, dword [ebp - 0x16]
cmp dword [eax], 0
setne bl
jmp 0x460adc
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.0045773c
cmp byte [ebp - 0xe], 0
je 0x461dff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0046909c
jmp 0x461dff
cmp byte [ebp - 0xe], 0
je 0x460aed
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0046909c
test bl, bl
je 0x461df2
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x461df2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x460b20
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0045773c
jmp 0x461dff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov esi, dword [eax]
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov bl, 1
lea edx, [ebp - 0x16]
mov ecx, ebx
mov eax, dword [ebp - 4]
call fcn.0045e890
test al, al
je 0x461dff
mov eax, dword [ebp - 0x12]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x460b5b.0
jmp dword [eax*4 + 0x460b62]
mov eax, dword [ebp - 0x16]
cmp byte [eax], 0
sete bl
jmp 0x460be6
mov eax, dword [ebp - 0x16]
cmp byte [eax], 0
sete bl
jmp 0x460be6
mov eax, dword [ebp - 0x16]
cmp word [eax], 0
sete bl
jmp 0x460be6
mov eax, dword [ebp - 0x16]
cmp word [eax], 0
sete bl
jmp 0x460be6
mov eax, dword [ebp - 0x16]
cmp dword [eax], 0
sete bl
jmp 0x460be6
mov eax, dword [ebp - 0x16]
cmp dword [eax], 0
sete bl
jmp 0x460be6
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.0045773c
cmp byte [ebp - 0xe], 0
je 0x461dff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0046909c
jmp 0x461dff
cmp byte [ebp - 0xe], 0
je 0x460bf7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0046909c
test bl, bl
je 0x461df2
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x461df2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
dec eax
mov dword [ebp - 0x24], eax
xor esi, esi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
jbe 0x460d29
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 0x460d06
cmp dword [ebx + 0x10], 0xfffffffe
jne 0x460c5d
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 0x460c8b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebx + 8]
jbe 0x460c8b
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 0x460c8b
dec edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0046909c
inc edi
jne 0x460c7d
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
mov eax, dword [ebx + 0xc]
cmp eax, 0xffffffff
je 0x460cb0
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0xc], 0xffffffff
mov esi, 1
jmp 0x460d29
cmp dword [ebx + 0x14], 0xffffffff
je 0x460ccd
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
mov esi, 1
jmp 0x460d29
mov edx, 0x1c
mov eax, ebx
call fcn.00402734
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.00453358
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x460d29
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 0x460c41
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
jbe 0x460d29
cmp eax, 0xffffffff
jne 0x460c41
test esi, esi
jne 0x461df2
mov dword [ebp - 0x24], 0xffffffff
mov eax, dword [ebp - 4]
cmp dword [eax + 0x60], 0xffffffff
jne 0x460d4f
mov eax, dword [ebp - 4]
mov dl, byte [ebp - 0x25]
mov byte [eax + 0x4c], dl
jmp 0x461dff
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 0x460d73
dec edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0046909c
inc edi
jne 0x460d65
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x44]
cmp eax, dword [edx + 0xc]
jb 0x460d92
mov eax, dword [ebp - 4]
mov dl, byte [ebp - 0x25]
mov byte [eax + 0x4c], dl
jmp 0x461dff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x44]
mov edx, dword [edx + 4]
mov esi, dword [edx + eax*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.0046909c
mov eax, dword [ebp - 4]
cmp dword [eax + 0x50], 0
jne 0x460de1
mov eax, dword [ebp - 4]
mov dl, byte [ebp - 0x25]
mov byte [eax + 0x4c], dl
jmp 0x461dff
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 0x461df2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x460e24
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0045773c
jmp 0x461dff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
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 0x460e56
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.0045773c
jmp 0x461dff
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.004690fc
jmp 0x461df2
lea edx, [ebp - 0xd]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0045e890
test al, al
je 0x461dff
cmp byte [ebp - 5], 0
je 0x460e98
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0046909c
mov ecx, dword [ebp - 9]
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 4]
call fcn.0045f354
test al, al
je 0x461dff
jmp 0x461df2
lea edx, [ebp - 0xd]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0045e890
test al, al
je 0x461dff
cmp byte [ebp - 5], 0
je 0x460ed9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0046909c
mov ecx, dword [ebp - 9]
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 4]
call fcn.0045fbbc
test al, al
je 0x461dff
jmp 0x461df2
lea edx, [ebp - 0xd]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0045e890
test al, al
je 0x461dff
cmp byte [ebp - 5], 0
je 0x460f1a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0046909c
mov ecx, dword [ebp - 9]
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 4]
call fcn.0045f21c
test al, al
je 0x461dff
jmp 0x461df2
lea edx, [ebp - 0xd]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0045e890
test al, al
je 0x461dff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x460f7c
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0045773c
cmp byte [ebp - 5], 0
je 0x461dff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0046909c
jmp 0x461dff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
movzx esi, byte [edx + eax]
mov eax, dword [ebp - 4]
inc dword [eax + 0x5c]
mov eax, dword [ebp - 9]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x460fa2.0
jmp dword [eax*4 + 0x460fa9]
mov eax, dword [ebp - 0xd]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x461051
mov eax, dword [ebp - 0xd]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x461051
mov eax, dword [ebp - 0xd]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x461051
mov eax, dword [ebp - 0xd]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x461051
mov eax, dword [ebp - 0xd]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x461051
mov eax, dword [ebp - 0xd]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x461051
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.0045773c
cmp byte [ebp - 5], 0
je 0x461dff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0046909c
jmp 0x461dff
test esi, esi
je 0x461063
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 - 5], 0
je 0x461df2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0046909c
jmp 0x461df2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x46109d
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0045773c
jmp 0x461dff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
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 0x461df2
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], esi
jmp 0x461df2
mov eax, 0x1c
call fcn.0040271c
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.0045f4d0
test al, al
jne 0x461120
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0045773c
mov edx, 0x1c
mov eax, ebx
call fcn.00402734
jmp 0x461dff
lea edx, [ebx + 0x10]
mov eax, dword [ebp - 4]
call fcn.0045f4d0
test al, al
jne 0x46114a
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0045773c
mov edx, 0x1c
mov eax, ebx
call fcn.00402734
jmp 0x461dff
lea edx, [ebx + 0x14]
mov eax, dword [ebp - 4]
call fcn.0045f4d0
test al, al
jne 0x461174
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0045773c
mov edx, 0x1c
mov eax, ebx
call fcn.00402734
jmp 0x461dff
lea edx, [ebx + 0x18]
mov eax, dword [ebp - 4]
call fcn.0045f4d0
test al, al
jne 0x46119e
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0045773c
mov edx, 0x1c
mov eax, ebx
call fcn.00402734
jmp 0x461dff
cmp dword [ebx + 0xc], 0xffffffff
je 0x4611ad
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0xc], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x4611bc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x10], eax
cmp dword [ebx + 0x14], 0xffffffff
je 0x4611cb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x14], eax
cmp dword [ebx + 0x18], 0xffffffff
je 0x4611da
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x18], eax
cmp dword [ebx + 0xc], 0xffffffff
je 0x4611eb
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x46121e
cmp dword [ebx + 0x10], 0xffffffff
je 0x4611fc
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x46121e
cmp dword [ebx + 0x14], 0xffffffff
je 0x46120d
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x46121e
cmp dword [ebx + 0x18], 0xffffffff
je 0x461239
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x461239
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0045773c
mov edx, 0x1c
mov eax, ebx
call fcn.00402734
jmp 0x461dff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov edx, ebx
call fcn.00453310
jmp 0x461df2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x461268
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0045773c
jmp 0x461dff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
movzx esi, byte [edx + eax]
mov eax, dword [ebp - 4]
inc dword [eax + 0x5c]
sub esi, 1
jb 0x46134f
je 0x461429
dec esi
je 0x46129c
dec esi
je 0x461512
jmp 0x461df2
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 0x4612cb
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0045773c
jmp 0x461dff
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 0x4612f4
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0045773c
jmp 0x461dff
mov dword [ebx + 0x10], 0xffffffff
cmp dword [ebx + 0x14], 0xffffffff
je 0x461316
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x461df2
mov esi, dword [ebx + 0x18]
mov edx, 0x1c
mov eax, ebx
call fcn.00402734
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.00453358
cmp dword [ebp - 0x24], 0xffffffff
je 0x461344
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x24]
mov dword [eax + 0x5c], edx
jmp 0x461df2
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x461df2
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 0x461378
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0045773c
jmp 0x461dff
cmp dword [ebx + 0xc], 0xffffffff
je 0x461393
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0xc], 0xffffffff
jmp 0x461df2
cmp dword [ebx + 0x14], 0xffffffff
je 0x4613ae
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xffffffff
jmp 0x461df2
mov esi, dword [ebx + 0x18]
mov edx, 0x1c
mov eax, ebx
call fcn.00402734
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.00453358
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x46140a
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 0x461df2
cmp dword [ebp - 0x24], 0xffffffff
je 0x46141e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x24]
mov dword [eax + 0x5c], edx
jmp 0x461df2
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x461df2
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 0x461452
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0045773c
jmp 0x461dff
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x46147c
cmp dword [ebx + 0x10], 0xffffffff
je 0x46147c
cmp dword [ebx + 0x10], 0xfffffffe
je 0x46147c
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xfffffffe
jmp 0x461df2
cmp dword [ebx + 0x14], 0xffffffff
je 0x461497
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x461df2
mov esi, dword [ebx + 0x18]
mov edx, 0x1c
mov eax, ebx
call fcn.00402734
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.00453358
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x4614f3
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 0x461df2
cmp dword [ebp - 0x24], 0xffffffff
je 0x461507
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x24]
mov dword [eax + 0x5c], edx
jmp 0x461df2
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x461df2
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 0x46153b
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0045773c
jmp 0x461dff
mov esi, dword [ebx + 0x18]
mov edx, 0x1c
mov eax, ebx
call fcn.00402734
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.00453358
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x461597
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 0x461df2
cmp dword [ebp - 0x24], 0xffffffff
je 0x4615ab
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x24]
mov dword [eax + 0x5c], edx
jmp 0x461df2
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], esi
jmp 0x461df2
lea edx, [ebp - 0xd]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0045e890
test al, al
je 0x461dff
cmp byte [ebp - 5], 0
je 0x4615eb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0046909c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0045773c
jmp 0x461dff
mov eax, dword [ebp - 9]
cmp byte [eax + 0xc], 0xd
je 0x461603
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0045773c
jmp 0x461dff
lea edx, [ebp - 0x16]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0045e890
test al, al
je 0x461dff
mov eax, dword [ebp - 0xd]
add eax, 8
cmp dword [eax], 0
je 0x461635
mov eax, dword [ebp - 0xd]
add eax, 4
mov edx, dword [eax]
mov eax, dword [ebp - 0xd]
mov eax, dword [eax]
call fcn.00455a34
mov eax, dword [ebp - 0x12]
cmp byte [eax + 0xc], 0xd
jne 0x4616da
mov eax, dword [ebp - 0x16]
cmp dword [eax], 0
je 0x4616bd
mov eax, dword [ebp - 0x16]
add eax, 4
mov eax, dword [eax]
call fcn.00455a18
mov edx, dword [ebp - 0xd]
mov dword [edx], eax
mov eax, dword [ebp - 0x16]
add eax, 4
mov eax, dword [eax]
mov edx, dword [ebp - 0xd]
add edx, 4
mov dword [edx], eax
mov eax, dword [ebp - 0xd]
add eax, 8
mov dword [eax], 1
mov eax, dword [ebp - 0xd]
add eax, 4
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x16]
mov edx, dword [eax]
mov eax, dword [ebp - 0xd]
mov eax, dword [eax]
mov ecx, 1
call fcn.004583d8
test al, al
jne 0x461738
cmp byte [ebp - 0xe], 0
je 0x4616ae
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0046909c
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.0045773c
jmp 0x461dff
mov eax, dword [ebp - 0xd]
xor edx, edx
mov dword [eax], edx
mov eax, dword [ebp - 0xd]
add eax, 4
xor edx, edx
mov dword [eax], edx
mov eax, dword [ebp - 0xd]
add eax, 8
xor edx, edx
mov dword [eax], edx
jmp 0x461738
mov eax, dword [ebp - 0x12]
call fcn.00455a18
mov edx, dword [ebp - 0xd]
mov dword [edx], eax
mov eax, dword [ebp - 0xd]
add eax, 4
mov edx, dword [ebp - 0x12]
mov dword [eax], edx
mov eax, dword [ebp - 0xd]
add eax, 8
mov dword [eax], 1
mov eax, dword [ebp - 0x12]
push eax
mov eax, dword [ebp - 0xd]
mov eax, dword [eax]
mov ecx, 1
mov edx, dword [ebp - 0x16]
call fcn.004583d8
test al, al
jne 0x461738
cmp byte [ebp - 0xe], 0
je 0x461729
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0046909c
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.0045773c
jmp 0x461dff
cmp byte [ebp - 0xe], 0
je 0x461df2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0046909c
jmp 0x461df2
lea edx, [ebp - 0xd]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0045e890
test al, al
je 0x461dff
cmp byte [ebp - 5], 0
je 0x461787
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0046909c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0045773c
jmp 0x461dff
mov eax, dword [ebp - 9]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x461793.0
jmp dword [eax*4 + 0x46179a]
mov eax, dword [ebp - 0xd]
dec byte [eax]
jmp 0x461df2
mov eax, dword [ebp - 0xd]
dec byte [eax]
jmp 0x461df2
mov eax, dword [ebp - 0xd]
dec word [eax]
jmp 0x461df2
mov eax, dword [ebp - 0xd]
dec word [eax]
jmp 0x461df2
mov eax, dword [ebp - 0xd]
dec dword [eax]
jmp 0x461df2
mov eax, dword [ebp - 0xd]
dec dword [eax]
jmp 0x461df2
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.0045773c
jmp 0x461dff
lea edx, [ebp - 0xd]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0045e890
test al, al
je 0x461dff
cmp byte [ebp - 5], 0
je 0x461838
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0046909c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0045773c
jmp 0x461dff
mov eax, dword [ebp - 9]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x461844.0
jmp dword [eax*4 + 0x46184b]
mov eax, dword [ebp - 0xd]
inc byte [eax]
jmp 0x461df2
mov eax, dword [ebp - 0xd]
inc byte [eax]
jmp 0x461df2
mov eax, dword [ebp - 0xd]
inc word [eax]
jmp 0x461df2
mov eax, dword [ebp - 0xd]
inc word [eax]
jmp 0x461df2
mov eax, dword [ebp - 0xd]
inc dword [eax]
jmp 0x461df2
mov eax, dword [ebp - 0xd]
inc dword [eax]
jmp 0x461df2
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.0045773c
jmp 0x461dff
lea edx, [ebp - 0xd]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0045e890
test al, al
je 0x461dff
cmp byte [ebp - 5], 0
je 0x4618e9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0046909c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0045773c
jmp 0x461dff
mov eax, dword [ebp - 9]
cmp byte [eax + 0xc], 0xd
je 0x461901
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0045773c
jmp 0x461dff
lea edx, [ebp - 0x16]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.0045e890
test al, al
je 0x461dff
cmp byte [ebp - 0xe], 0
je 0x461936
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0046909c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0045773c
jmp 0x461dff
mov eax, dword [ebp - 0x12]
cmp byte [eax + 0xc], 0xd
jne 0x46195e
mov eax, dword [ebp - 0x16]
mov eax, dword [eax]
mov edx, dword [ebp - 0xd]
mov dword [edx], eax
mov eax, dword [ebp - 0x16]
add eax, 4
mov eax, dword [eax]
mov edx, dword [ebp - 0xd]
add edx, 4
mov dword [edx], eax
jmp 0x461df2
mov eax, dword [ebp - 0xd]
mov edx, dword [ebp - 0x16]
mov dword [eax], edx
mov eax, dword [ebp - 0xd]
add eax, 4
mov edx, dword [ebp - 0x12]
mov dword [eax], edx
jmp 0x461df2
lea edx, [ebp - 0xd]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0045e890
test al, al
je 0x461dff
mov eax, dword [ebp - 9]
cmp byte [eax + 0xc], 0x15
je 0x4619b4
cmp byte [ebp - 5], 0
je 0x4619a5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0046909c
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.0045773c
jmp 0x461dff
mov eax, dword [ebp - 0xd]
mov esi, dword [eax]
cmp byte [ebp - 5], 0
je 0x4619ca
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0046909c
test esi, esi
jne 0x461a02
mov eax, dword [ebp - 0xd]
add eax, 8
cmp dword [eax], 0
je 0x461a02
mov eax, dword [ebp - 0xd]
add eax, 8
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0xd]
add eax, 4
mov ecx, dword [eax]
mov edx, dword [ebp - 9]
mov eax, dword [ebp - 4]
call fcn.00467a40
test al, al
je 0x461dff
jmp 0x461df2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp esi, dword [eax + 0xc]
jae 0x461a15
mov eax, dword [ebp - 4]
cmp esi, dword [eax + 0x48]
jne 0x461a24
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.0045773c
jmp 0x461dff
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.00402d90
cmp eax, dword [0x453a68]
jne 0x461a6b
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 0x461df2
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.0045773c
jmp 0x461df2
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004690fc
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 0x461df2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x461af7
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0045773c
jmp 0x461dff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
xor ebx, ebx
mov bl, byte [edx + eax]
mov eax, dword [ebp - 4]
inc dword [eax + 0x5c]
lea edx, [ebp - 0x1f]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0045e890
test al, al
je 0x461dff
cmp byte [ebp - 0x17], 0
je 0x461bc6
mov eax, dword [ebp - 0x1b]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x461b45
sub al, 2
je 0x461b45
sub al, 6
je 0x461b45
sub al, 4
jne 0x461b50
mov edx, dword [ebp - 0x1b]
mov eax, dword [ebp - 0x1f]
call fcn.00455818
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
jbe 0x461b89
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004532b0
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 0x461bb7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00468e9c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0045773c
jmp 0x461dff
lea edx, [ebp - 0x16]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0045e890
test al, al
je 0x461dff
lea edx, [ebp - 0xd]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.0045e890
test al, al
jne 0x461c9f
cmp byte [ebp - 0xe], 0
je 0x461dff
mov eax, dword [ebp - 0x12]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x461c12
sub al, 2
je 0x461c12
sub al, 6
je 0x461c12
sub al, 4
jne 0x461c1d
mov edx, dword [ebp - 0x12]
mov eax, dword [ebp - 0x16]
call fcn.00455818
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
jbe 0x461c68
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004532b0
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 0x461dff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00468e9c
jmp 0x461dff
mov eax, dword [ebp - 0x1f]
push eax
mov eax, dword [ebp - 0x12]
push eax
mov eax, dword [ebp - 9]
push eax
mov eax, dword [ebp - 0x1b]
push eax
push ebx
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 4]
call fcn.00459700
cmp byte [ebp - 5], 0
je 0x461d52
mov eax, dword [ebp - 9]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x461ce0
sub al, 2
je 0x461ce0
sub al, 6
je 0x461ce0
sub al, 4
jne 0x461ceb
mov edx, dword [ebp - 9]
mov eax, dword [ebp - 0xd]
call fcn.00455818
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
jbe 0x461d24
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004532b0
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 0x461d52
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00468e9c
cmp byte [ebp - 0xe], 0
je 0x461df2
mov eax, dword [ebp - 0x12]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x461d74
sub al, 2
je 0x461d74
sub al, 6
je 0x461d74
sub al, 4
jne 0x461d7f
mov edx, dword [ebp - 0x12]
mov eax, dword [ebp - 0x16]
call fcn.00455818
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
jbe 0x461db8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004532b0
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 0x461df2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00468e9c
jmp 0x461df2
mov dl, 5
mov eax, dword [ebp - 4]
call fcn.0045773c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x45fe04
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x461e18
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x45fdf8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x461e5d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x461e41
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0046909c
dec esi
cmp esi, 0xffffffff
jne 0x461e30
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.00468eac
mov eax, dword [ebp - 4]
cmp byte [eax + 0x11], 0
je 0x461e5d
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