Function at 0x45d85a
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xe8
mov ecx, 0x3a
dec ecx
mov dword [esp + ecx*4], 0xfffa5a5a
jne 0x45d868
push ebx
push esi
push edi
lea edi, [ebp - 0xb6]
mov dword [ebp - 0x14], edi
lea edi, [ebp - 0x65]
mov dword [ebp - 0xbc], edi
mov edi, dword [ebp - 0xbc]
mov byte [edi], 0
mov edi, dword [ebp - 0x14]
mov byte [edi], 0
mov word [0x4b7958], 0
movzx ebx, byte [0x4b78a1]
cmp ebx, 0x4e
je 0x45fa6e
cmp ebx, 0x52
je 0x45e511
cmp ebx, 0x53
je 0x45f9a2
jg 0x45d8e1
cmp ebx, 0x44
jl case.0x45d8da.1
cmp ebx, 0x4b
jg case.0x45d8da.1
mov edi, ebx
sub edi, 0x44
jmp dword [edi*4 + 0x542320]
cmp ebx, 0x57
je 0x45de4f
jmp case.0x45d8da.1
movzx edx, byte [0x4b78a2]
mov dword [ebp - 0xc4], edx
mov edi, dword [ebp - 0xc4]
cmp edi, 0x4c
je 0x45d951
jg 0x45d92b
mov edi, dword [ebp - 0xc4]
cmp edi, 0x41
je 0x45d951
cmp edi, 0x44
je 0x45db6d
cmp edi, 0x46
je 0x45db9f
jmp 0x45dc91
mov edi, dword [ebp - 0xc4]
cmp edi, 0x52
je 0x45da4d
cmp edi, 0x54
je 0x45daf1
cmp edi, 0x57
je 0x45d9eb
jmp 0x45dc91
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45d995
push dword [ebp - 0x14]
call fcn.0041272a
add esp, 4
mov edi, dword [ebp - 0x14]
cmp byte [edi], 0x2f
jne 0x45d98e
push dword [ebp - 0x14]
call fcn.00491d08
add esp, 4
push eax
mov edi, dword [ebp - 0x14]
mov esi, edi
add esi, 1
push esi
push edi
call sub.CRTDLL.DLL_memmove
add esp, 0xc
call fcn.004114b4
jmp 0x45d9a5
push 0x54245b
push dword [ebp - 0x14]
call fcn.00491c91
add esp, 8
cmp byte [0x4b78a2], 0x41
jne 0x45d9ba
mov dword [ebp - 0xc8], 1
jmp 0x45d9c4
mov dword [ebp - 0xc8], 0
mov edi, dword [ebp - 0xc8]
mov word [ebp - 0x10], di
push dword [ebp - 0x14]
movzx edi, word [ebp - 0x10]
mov edx, edi
and edx, 0xff
push edx
call fcn.0045c77e
add esp, 8
jmp 0x45fc83
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fc83
push dword [ebp - 0x14]
call fcn.0041291f
add esp, 4
call fcn.00411a75
mov dword [ebp - 4], eax
push dword [ebp - 4]
push 1
push 0
push dword [ebp - 0x14]
push 0
call fcn.0045b7f1
add esp, 0x14
push dword [ebp - 4]
push 0
call fcn.0045c3b9
add esp, 8
push 0xffff
push 0xffff
push 0
call fcn.0045bc70
add esp, 0xc
call fcn.004114b4
jmp 0x45fc83
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fc83
push dword [ebp - 0x14]
call fcn.0041291f
add esp, 4
call fcn.004114b4
lea edi, [ebp - 4]
push edi
push dword [ebp - 0x14]
call fcn.00419479
add esp, 8
mov dword [ebp - 0xc], eax
cmp eax, 0
je 0x45fc83
push str.eFIR
call fcn.00470c6e
add esp, 4
push 4
lea edi, [ebp - 4]
push edi
call fcn.00470c09
add esp, 8
jmp 0x45dae6
cmp dword [ebp - 4], 0x200
jbe 0x45daba
mov dword [ebp - 0xcc], 0x200
jmp 0x45dac3
mov edi, dword [ebp - 4]
mov dword [ebp - 0xcc], edi
mov edi, dword [ebp - 0xcc]
mov dword [ebp - 8], edi
push dword [ebp - 8]
push dword [ebp - 0xc]
call fcn.00470c09
add esp, 8
mov edi, dword [ebp - 8]
add dword [ebp - 0xc], edi
mov edi, dword [ebp - 8]
sub dword [ebp - 4], edi
cmp dword [ebp - 4], 0
jne 0x45daa5
jmp 0x45fc83
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fc83
push dword [ebp - 0x14]
call fcn.0041291f
add esp, 4
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fc83
call fcn.00411c91
mov edi, eax
mov word [ebp - 0xca], di
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fc83
call fcn.00411c91
mov edi, eax
mov word [ebp - 0xcc], di
call fcn.004114b4
movzx edi, word [ebp - 0xcc]
push edi
movzx edi, word [ebp - 0xca]
push edi
push dword [ebp - 0x14]
call fcn.00419e0b
add esp, 0xc
jmp 0x45fc83
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fc83
push dword [ebp - 0x14]
call fcn.0041291f
add esp, 4
call fcn.004114b4
push 1
push dword [ebp - 0x14]
call fcn.0045cd3e
add esp, 8
jmp 0x45fc83
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fc83
push dword [ebp - 0x14]
call fcn.0041291f
add esp, 4
call fcn.004114b4
push str.I:FormatTable.all
push dword [ebp - 0x14]
call sub.CRTDLL.DLL_strcmp
add esp, 8
cmp eax, 0
jne 0x45dbed
push 0x30
push 0x100
call fcn.00419209
add esp, 8
call fcn.00418d00
jmp 0x45fc83
push str.I:DefragTable.all
push dword [ebp - 0x14]
call sub.CRTDLL.DLL_strcmp
add esp, 8
cmp eax, 0
jne 0x45dc11
push 0
call fcn.004194f1
add esp, 4
jmp 0x45fc83
push str.I:FormatSector.free
push dword [ebp - 0x14]
call sub.CRTDLL.DLL_strcmp
add esp, 8
cmp eax, 0
jne 0x45fc83
mov word [ebp - 0xca], 0x130
jmp 0x45dc64
movzx edi, word [ebp - 0xcc]
push edi
movzx edi, word [ebp - 0xca]
push edi
call fcn.00419209
add esp, 8
movzx edi, word [ebp - 0xca]
movzx esi, word [ebp - 0xcc]
add edi, esi
mov word [ebp - 0xca], di
lea edi, [ebp - 0xcc]
push edi
movzx edi, word [ebp - 0xca]
push edi
call fcn.00418f97
add esp, 8
mov edi, eax
mov word [ebp - 0xca], di
movzx edi, di
cmp edi, 0
jg 0x45dc35
jmp 0x45fc83
call fcn.00431653
jmp 0x45fc83
movzx edx, byte [0x4b78a2]
mov dword [ebp - 0xc4], edx
mov edi, dword [ebp - 0xc4]
cmp edi, 0x4c
je case.0x45dcd4.0
jg 0x45dcdb
mov edi, dword [ebp - 0xc4]
cmp edi, 0x41
jl case.0x45dcd4.1
cmp edi, 0x47
jg case.0x45dcd4.1
sub edi, 0x41
jmp dword [edi*4 + 0x542340]
mov edi, dword [ebp - 0xc4]
cmp edi, 0x52
je case.0x45dcd4.0
cmp edi, 0x53
je 0x45dcf4
jmp case.0x45dcd4.1
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fc83
push dword [ebp - 0x14]
call fcn.0041298a
add esp, 4
call fcn.004114b4
push 0
push dword [ebp - 0x14]
call fcn.00419809
add esp, 8
mov edx, eax
cmp dl, 3
jne 0x45fc83
push dword [ebp - 0x14]
push 0x4e99b4
call fcn.00491c91
add esp, 8
jmp 0x45fc83
call fcn.004114b4
push str.eFDG
call fcn.00470c6e
add esp, 4
push 0x4e99b4
call fcn.00470c6e
add esp, 4
push 0
call fcn.00470c50
add esp, 4
jmp 0x45fc83
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45dd8d
push dword [ebp - 0x14]
call fcn.0041272a
add esp, 4
call fcn.004114b4
jmp 0x45dd9d
push 0x4e99b4
push dword [ebp - 0x14]
call fcn.00491c91
add esp, 8
cmp byte [0x4b78a2], 0x41
jne 0x45ddb2
mov dword [ebp - 0xc8], 1
jmp 0x45ddbc
mov dword [ebp - 0xc8], 0
mov edi, dword [ebp - 0xc8]
mov edx, edi
and edx, 0xff
push edx
cmp byte [0x4b78a2], 0x4c
jne 0x45dde0
mov dword [ebp - 0xcc], 1
jmp 0x45ddea
mov dword [ebp - 0xcc], 0
mov edi, dword [ebp - 0xcc]
mov edx, edi
and edx, 0xff
push edx
push dword [ebp - 0x14]
call fcn.0045c68b
add esp, 0xc
jmp 0x45fc83
call fcn.004114b4
jmp 0x45fc83
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fc83
push dword [ebp - 0x14]
call fcn.0041298a
add esp, 4
call fcn.004114b4
push 3
push dword [ebp - 0x14]
call fcn.0045cd3e
add esp, 8
jmp 0x45fc83
call fcn.00431653
jmp 0x45fc83
movzx edx, byte [0x4b78a2]
mov dword [ebp - 0xc8], edx
mov edi, dword [ebp - 0xc8]
cmp edi, 0x41
je case.0x45dea1.6
cmp edi, 0x43
je 0x45e49d
cmp edi, 0x44
je 0x45df92
cmp edi, 0x41
jl case.0x45dea1.5
mov edi, dword [ebp - 0xc8]
cmp edi, 0x4f
jl case.0x45dea1.5
cmp edi, 0x59
jg case.0x45dea1.5
sub edi, 0x4f
jmp dword [edi*4 + 0x54235c]
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fc83
push dword [ebp - 0x14]
call fcn.0041272a
add esp, 4
mov dword [ebp - 0xc0], 0x7fffffff
mov word [ebp - 0x10], 1
mov dword [ebp - 4], 0
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45df27
call fcn.00411ed8
mov dword [ebp - 0xc0], eax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45df27
call fcn.00411c91
mov edi, eax
movzx edi, di
and edi, 1
mov word [ebp - 0x10], di
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45df27
call fcn.00411a75
mov dword [ebp - 4], eax
call fcn.004114b4
push 0x3a
push dword [ebp - 0x14]
call sub.CRTDLL.DLL_strchr
add esp, 8
cmp eax, 0
jne 0x45fc83
push dword [ebp - 4]
movzx edi, word [ebp - 0x10]
push edi
push dword [ebp - 0xc0]
push dword [ebp - 0x14]
push 1
call fcn.0045b7f1
add esp, 0x14
jmp 0x45fc83
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fc83
call fcn.00411ed8
mov dword [ebp - 0xc0], eax
call fcn.004114b4
push dword [ebp - 0xc0]
push 1
call fcn.0045bed5
add esp, 8
jmp 0x45fc83
call fcn.00411a75
mov dword [ebp - 4], eax
push dword [ebp - 4]
push 1
call fcn.0045c3b9
add esp, 8
call fcn.004114b4
jmp 0x45fc83
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fc83
push 0
push 0x800
push 0x4b68a0
call fcn.00412d2d
add esp, 0xc
mov edi, eax
movzx edi, di
mov dword [ebp - 4], edi
call fcn.004114b4
cmp byte [0x4b78a2], 0x41
jne 0x45dfff
movzx edi, word [ebp - 4]
push edi
push 0x4b68a0
call fcn.00433f69
add esp, 8
jmp 0x45e002
shl dword [ebp - 4], 1
push dword [ebp - 4]
push 0x4b68a0
push 1
call fcn.0045c0fa
add esp, 0xc
jmp 0x45fc83
movsx edi, word [ebp - 0xe]
cmp edi, 0
jl case.0x45dea1.4
cmp edi, 0xc8
jge case.0x45dea1.4
movsx edi, word [ebp - 0xe]
movzx edx, byte [edi + 0x4e60e4]
mov edi, edx
mov word [ebp - 0x10], di
push 2
lea edi, [ebp - 0x10]
push edi
push 1
call fcn.0045c0fa
add esp, 0xc
movzx edi, word [ebp - 0x10]
shl edi, 1
push edi
mov eax, 0x194
movsx edi, word [ebp - 0xe]
mul edi
mov dword [ebp - 0xcc], eax
mov edi, dword [ebp - 0xcc]
lea edi, [edi + 0x4d1da4]
push edi
push 1
call fcn.0045c0fa
add esp, 0xc
lea edi, [ebp - 0xe]
push edi
call fcn.00413e72
add esp, 4
or ax, ax
jne 0x45e019
jmp 0x45fc83
movsx edi, word [ebp - 0xe]
cmp edi, 0
jl case.0x45dea1.3
cmp edi, 0xc8
jge case.0x45dea1.3
movsx edi, word [ebp - 0xe]
test dword [edi + 0x4c9d04], 1
je 0x45e0c0
mov dword [ebp - 0xcc], 0x46
jmp 0x45e0ca
mov dword [ebp - 0xcc], 0x49
mov edi, dword [ebp - 0xcc]
mov word [ebp - 0x10], di
push 1
lea edi, [ebp - 0x10]
push edi
push 1
call fcn.0045c0fa
add esp, 0xc
push 4
movsx edi, word [ebp - 0xe]
lea edi, [edi*4 + 0x4e5d94]
push edi
push 1
call fcn.0045c0fa
add esp, 0xc
lea edi, [ebp - 0xe]
push edi
call fcn.00413e72
add esp, 4
or ax, ax
jne 0x45e092
jmp 0x45fc83
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fc83
call fcn.00411c91
mov edi, eax
mov word [ebp - 0x10], di
jmp 0x45e143
push 0xffffffffffffffff
movsx edi, word [ebp - 0xe]
push edi
movzx edi, word [ebp - 0x10]
push edi
call fcn.0045d0a5
add esp, 0xc
lea edi, [ebp - 0xe]
push edi
call fcn.00413e72
add esp, 4
or ax, ax
jne 0x45e12f
jmp 0x45fc83
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fc83
call fcn.00411c91
mov edi, eax
mov word [ebp - 0x10], di
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fc83
call fcn.00411c91
mov edi, eax
movzx edi, di
mov word [ebp - 0xe], di
mov dword [ebp - 8], 0
mov dword [ebp - 4], 1
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45e1ed
call fcn.00411a75
mov dword [ebp - 8], eax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45e1ed
call fcn.00411a75
mov dword [ebp - 4], eax
call fcn.004114b4
jmp 0x45e1ed
mov edi, dword [ebp - 8]
mov esi, edi
add esi, 1
mov dword [ebp - 8], esi
push edi
movsx edi, word [ebp - 0xe]
push edi
movzx edi, word [ebp - 0x10]
push edi
call fcn.0045d0a5
add esp, 0xc
mov edi, dword [ebp - 4]
mov esi, edi
sub esi, 1
mov dword [ebp - 4], esi
cmp edi, 0
jne 0x45e1cf
jmp 0x45fc83
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fc83
call fcn.00411c91
mov edi, eax
movzx edi, di
mov word [ebp - 0xe], di
mov dword [ebp - 8], 0
mov dword [ebp - 4], 1
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45e25b
call fcn.00411a75
mov dword [ebp - 8], eax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45e25b
call fcn.00411a75
mov dword [ebp - 4], eax
call fcn.004114b4
movsx edi, word [ebp - 0xe]
cmp edi, 0
jl 0x45fc83
cmp edi, 0xc8
jge 0x45fc83
movsx edi, word [ebp - 0xe]
mov edi, dword [edi*4 + 0x4e5a34]
mov dword [ebp - 0xcc], edi
mov edi, dword [ebp - 0xcc]
cmp edi, 0
je 0x45fc83
cmp byte [edi], 0x55
jne 0x45fc83
jmp 0x45e2f8
mov edi, dword [ebp - 0xcc]
mov edi, dword [edi + 8]
cmp dword [ebp - 8], edi
jb 0x45e2b2
jmp 0x45fc83
mov edi, dword [ebp - 8]
mov esi, edi
add esi, 1
mov dword [ebp - 8], esi
mov esi, dword [ebp - 0xcc]
movzx eax, word [esi + 6]
mul edi
mov dword [ebp - 0xd4], eax
mov edi, dword [ebp - 0xd4]
add edi, dword [esi + 0x44]
mov dword [ebp - 0xd0], edi
mov edi, dword [ebp - 0xd0]
movzx esi, word [edi]
shl esi, 1
add esi, 2
push esi
push edi
push 1
call fcn.0045c0fa
add esp, 0xc
mov edi, dword [ebp - 4]
mov esi, edi
sub esi, 1
mov dword [ebp - 4], esi
cmp edi, 0
jne 0x45e29f
jmp 0x45fc83
movsx edi, word [ebp - 0xe]
cmp edi, 0
jl case.0x45dea1.10
cmp edi, 0xc8
jge case.0x45dea1.10
cmp dword [edi*4 + 0x4e5a34], 0
je case.0x45dea1.10
movsx edi, word [ebp - 0xe]
mov edi, dword [edi*4 + 0x4e5a34]
mov dword [ebp - 0xcc], edi
mov word [ebp - 0x10], 3
push 1
push dword [ebp - 0xcc]
push 1
call fcn.0045c0fa
add esp, 0xc
push 1
lea edi, [ebp - 0x10]
push edi
push 1
call fcn.0045c0fa
add esp, 0xc
push 2
mov edi, dword [ebp - 0xcc]
add edi, 2
push edi
push 1
call fcn.0045c0fa
add esp, 0xc
mov edi, dword [ebp - 0xcc]
cmp byte [edi], 0x55
jne 0x45e3bc
push 3
mov edi, dword [ebp - 0xcc]
add edi, 8
push edi
push 1
call fcn.0045c0fa
add esp, 0xc
push 1
mov edi, dword [ebp - 0xcc]
add edi, 4
push edi
push 1
call fcn.0045c0fa
add esp, 0xc
jmp 0x45e3d2
push 4
mov edi, dword [ebp - 0xcc]
add edi, 8
push edi
push 1
call fcn.0045c0fa
add esp, 0xc
push 4
mov edi, dword [ebp - 0xcc]
add edi, 0xc
push edi
push 1
call fcn.0045c0fa
add esp, 0xc
push 4
mov edi, dword [ebp - 0xcc]
add edi, 0x10
push edi
push 1
call fcn.0045c0fa
add esp, 0xc
push 4
mov edi, dword [ebp - 0xcc]
add edi, 0x14
push edi
push 1
call fcn.0045c0fa
add esp, 0xc
push 4
mov edi, dword [ebp - 0xcc]
add edi, 0x18
push edi
push 1
call fcn.0045c0fa
add esp, 0xc
push 4
mov edi, dword [ebp - 0xcc]
add edi, 0x1c
push edi
push 1
call fcn.0045c0fa
add esp, 0xc
push 4
mov edi, dword [ebp - 0xcc]
add edi, 0x30
push edi
push 1
call fcn.0045c0fa
add esp, 0xc
mov edi, dword [ebp - 0xcc]
cmp dword [edi + 0xc], 0
jl case.0x45dea1.10
mov edi, dword [ebp - 0xcc]
mov esi, dword [edi + 0xc]
add esi, 1
movzx edx, word [edi + 6]
imul esi, edx
push esi
push dword [edi + 0x44]
push 1
call fcn.0045c0fa
add esp, 0xc
lea edi, [ebp - 0xe]
push edi
call fcn.00413e72
add esp, 4
or ax, ax
jne 0x45e30d
jmp 0x45fc83
mov word [ebp - 0xca], 0xffff
mov word [ebp - 0xcc], 0xffff
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45e4e8
call fcn.00411c91
mov edi, eax
mov word [ebp - 0xca], di
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45e4e8
call fcn.00411c91
mov edi, eax
mov word [ebp - 0xcc], di
call fcn.004114b4
movzx edi, word [ebp - 0xcc]
push edi
movzx edi, word [ebp - 0xca]
push edi
push 1
call fcn.0045bc70
add esp, 0xc
jmp 0x45fc83
call fcn.00431653
jmp 0x45fc83
movzx edx, byte [0x4b78a2]
mov dword [ebp - 0xcc], edx
mov edi, dword [ebp - 0xcc]
cmp edi, 0x41
jl case.0x45e539.4
cmp edi, 0x5a
jg case.0x45e539.4
sub edi, 0x41
jmp dword [edi*4 + 0x542388]
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fc83
push dword [ebp - 0x14]
call fcn.0041272a
add esp, 4
mov dword [ebp - 0xc0], 0
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45e581
call fcn.00411ed8
mov dword [ebp - 0xc0], eax
call fcn.004114b4
push dword [ebp - 0xc0]
push dword [ebp - 0x14]
push 1
call fcn.0045b3ac
add esp, 0xc
jmp 0x45fc83
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fc83
call fcn.00411ed8
mov dword [ebp - 0xc0], eax
call fcn.004114b4
push dword [ebp - 0xc0]
push 1
call fcn.0045b69a
add esp, 8
jmp 0x45fc83
mov dword [ebp - 4], 0x7fffffff
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45e5ee
call fcn.00411a75
mov dword [ebp - 4], eax
call fcn.004114b4
mov edi, dword [0x4e9924]
sub edi, dword [0x4e9920]
cmp dword [ebp - 4], edi
jbe 0x45e60e
mov edi, dword [0x4e9924]
sub edi, dword [0x4e9920]
mov dword [ebp - 4], edi
push str.eFRD
call fcn.00470c6e
add esp, 4
push 4
lea edi, [ebp - 4]
push edi
call fcn.00470c09
add esp, 8
jmp 0x45e67e
cmp dword [ebp - 4], 0xa0
jbe 0x45e640
mov dword [ebp - 0xd0], 0xa0
jmp 0x45e649
mov edi, dword [ebp - 4]
mov dword [ebp - 0xd0], edi
mov edi, dword [ebp - 0xd0]
mov dword [ebp - 8], edi
mov edi, dword [ebp - 8]
sub dword [ebp - 4], edi
push dword [ebp - 8]
lea edi, [ebp - 0xb6]
push edi
push 1
call fcn.0045b581
add esp, 0xc
push dword [ebp - 8]
lea edi, [ebp - 0xb6]
push edi
call fcn.00470c09
add esp, 8
cmp dword [ebp - 4], 0
jne 0x45e62b
jmp 0x45fc83
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fc83
call fcn.004120f4
mov word [ebp - 0xe], ax
cmp byte [0x4b78a2], 0x42
jne 0x45e6b7
mov dword [ebp - 0xd4], 1
jmp 0x45e6c1
mov dword [ebp - 0xd4], 2
mov edi, dword [ebp - 0xd4]
mov word [ebp - 0xce], di
jmp 0x45e7da
call fcn.00411c91
mov edi, eax
movzx edi, di
movsx esi, word [ebp - 0xce]
imul edi, esi
mov dword [ebp - 4], edi
movsx edi, word [ebp - 0xe]
cmp edi, 0
jl 0x45e7d6
cmp edi, 0xc8
jge 0x45e7d6
mov edi, dword [0x4e9924]
sub edi, dword [0x4e9920]
cmp dword [ebp - 4], edi
jbe 0x45e723
mov edi, dword [0x4e9924]
sub edi, dword [0x4e9920]
mov dword [ebp - 4], edi
mov edi, 0
mov word [ebp - 0x10], 0
movzx edi, di
mov dword [ebp - 8], edi
jmp 0x45e784
movsx edi, word [ebp - 0xce]
sub dword [ebp - 4], edi
movsx edi, word [ebp - 0xce]
push edi
lea edi, [ebp - 0x10]
push edi
push 1
call fcn.0045b581
add esp, 0xc
mov edi, dword [ebp - 8]
mov esi, edi
add esi, 1
mov dword [ebp - 8], esi
mov eax, 0x194
movsx esi, word [ebp - 0xe]
mul esi
mov dword [ebp - 0xd8], eax
mov si, word [ebp - 0x10]
mov edx, dword [ebp - 0xd8]
mov word [edx + edi*2 + 0x4d1da4], si
movsx edi, word [ebp - 0xce]
cmp dword [ebp - 4], edi
jae 0x45e736
mov edi, dword [ebp - 8]
mov eax, 0x194
movsx esi, word [ebp - 0xe]
mul esi
mov dword [ebp - 0xd8], eax
mov esi, dword [ebp - 0xd8]
mov word [esi + edi*2 + 0x4d1da4], 0
movsx edi, word [ebp - 0xe]
mov esi, dword [ebp - 8]
mov edx, esi
mov byte [edi + 0x4e60e4], dl
push 3
movsx edi, word [ebp - 0xe]
movzx edi, di
push edi
call fcn.004378fd
add esp, 8
inc word [ebp - 0xe]
call fcn.004114e8
mov edx, eax
cmp dl, 0
je 0x45e6d3
jmp 0x45fc83
cmp dword [0x4e991c], 0
je 0x45fc83
cmp byte [0x4b78a2], 0x41
jne 0x45e811
mov dword [ebp - 0xd4], 1
jmp 0x45e81b
mov dword [ebp - 0xd4], 2
mov edi, dword [ebp - 0xd4]
mov word [ebp - 0xce], di
mov edi, dword [0x4e9924]
sub edi, dword [0x4e9920]
mov dword [ebp - 4], edi
jmp 0x45e926
movsx edi, word [ebp - 0xe]
cmp edi, 0
jl 0x45e926
cmp edi, 0xc8
jge 0x45e926
mov edi, 0
mov word [ebp - 0x10], 0
movzx edi, di
mov dword [ebp - 8], edi
jmp 0x45e8cd
movsx edi, word [ebp - 0xce]
sub dword [ebp - 4], edi
movsx edi, word [ebp - 0xce]
push edi
lea edi, [ebp - 0x10]
push edi
push 1
call fcn.0045b581
add esp, 0xc
movzx edi, word [ebp - 0x10]
cmp edi, 0xd
je 0x45e8cd
cmp edi, 0xa
je 0x45e8cd
cmp dword [ebp - 8], 0xc8
jae 0x45e8cd
mov edi, dword [ebp - 8]
mov esi, edi
add esi, 1
mov dword [ebp - 8], esi
mov eax, 0x194
movsx esi, word [ebp - 0xe]
mul esi
mov dword [ebp - 0xd8], eax
mov si, word [ebp - 0x10]
mov edx, dword [ebp - 0xd8]
mov word [edx + edi*2 + 0x4d1da4], si
movsx edi, word [ebp - 0xce]
cmp dword [ebp - 4], edi
jb 0x45e8e0
cmp word [ebp - 0x10], 0xa
jne 0x45e868
mov edi, dword [ebp - 8]
mov eax, 0x194
movsx esi, word [ebp - 0xe]
mul esi
mov dword [ebp - 0xd8], eax
mov esi, dword [ebp - 0xd8]
mov word [esi + edi*2 + 0x4d1da4], 0
movsx edi, word [ebp - 0xe]
mov esi, dword [ebp - 8]
mov edx, esi
mov byte [edi + 0x4e60e4], dl
push 3
movsx edi, word [ebp - 0xe]
movzx edi, di
push edi
call fcn.004378fd
add esp, 8
lea edi, [ebp - 0xe]
push edi
call fcn.00413e72
add esp, 4
or ax, ax
jne 0x45e83c
jmp 0x45fc83
cmp dword [0x4e991c], 0
je 0x45fc83
mov edi, dword [0x4e9924]
sub edi, dword [0x4e9920]
mov dword [ebp - 4], edi
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fc83
call fcn.00411c91
mov edi, eax
movzx edi, di
mov word [ebp - 0xe], di
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 1
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45e9b5
call fcn.00411a75
mov dword [ebp - 0xc], eax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45e9b5
call fcn.00411a75
mov dword [ebp - 8], eax
call fcn.004114b4
movsx edi, word [ebp - 0xe]
cmp edi, 0
jl 0x45fc83
cmp edi, 0xc8
jge 0x45fc83
movsx edi, word [ebp - 0xe]
mov edi, dword [edi*4 + 0x4e5a34]
mov dword [ebp - 0xd0], edi
mov edi, dword [ebp - 0xd0]
cmp edi, 0
je 0x45fc83
cmp byte [edi], 0x55
jne 0x45fc83
cmp byte [0x4b78a2], 0x54
jne 0x45ea0c
mov dword [ebp - 0xdc], 1
jmp 0x45ea16
mov dword [ebp - 0xdc], 2
mov edi, dword [ebp - 0xdc]
mov word [ebp - 0xd2], di
jmp 0x45eb23
mov edi, dword [ebp - 0xd0]
mov edi, dword [edi + 8]
cmp dword [ebp - 0xc], edi
jb 0x45ea3b
jmp 0x45fc83
mov edi, dword [ebp - 0xd0]
movzx eax, word [edi + 6]
mul dword [ebp - 0xc]
mov dword [ebp - 0xe0], eax
mov esi, dword [ebp - 0xe0]
add esi, dword [edi + 0x44]
mov dword [ebp - 0xd8], esi
mov word [ebp - 0xd4], 0
mov word [ebp - 0x10], 0
jmp 0x45ead1
movzx edi, word [ebp - 0xd2]
sub dword [ebp - 4], edi
movzx edi, word [ebp - 0xd2]
push edi
lea edi, [ebp - 0x10]
push edi
push 1
call fcn.0045b581
add esp, 0xc
movzx edi, word [ebp - 0x10]
cmp edi, 0xd
je 0x45ead1
cmp edi, 0xa
je 0x45ead1
mov di, word [ebp - 0xd4]
mov esi, dword [ebp - 0xd0]
cmp di, word [esi + 4]
jae 0x45ead1
movzx edi, word [ebp - 0xd4]
add edi, 1
mov word [ebp - 0xd4], di
movzx edi, di
mov esi, dword [ebp - 0xd8]
mov dx, word [ebp - 0x10]
mov word [esi + edi*2], dx
movzx edi, word [ebp - 0xd2]
cmp dword [ebp - 4], edi
jb 0x45eae4
cmp word [ebp - 0x10], 0xa
jne 0x45ea6e
mov edi, dword [ebp - 0xd8]
mov si, word [ebp - 0xd4]
mov word [edi], si
movzx edi, word [ebp - 0xd4]
add edi, 1
mov esi, dword [ebp - 0xd8]
mov word [esi + edi*2], 0
mov edi, dword [ebp - 0xc]
mov esi, edi
add esi, 1
mov dword [ebp - 0xc], esi
push edi
movsx edi, word [ebp - 0xe]
push edi
call fcn.00438379
add esp, 8
mov edi, dword [ebp - 8]
mov esi, edi
sub esi, 1
mov dword [ebp - 8], esi
cmp edi, 0
je 0x45eb3d
cmp dword [ebp - 4], 0
jne 0x45ea28
jmp 0x45fc83
cmp dword [0x4e991c], 0
je 0x45fc83
mov edi, dword [0x4e9924]
sub edi, dword [0x4e9920]
mov dword [ebp - 4], edi
jmp 0x45ebfc
movsx edi, word [ebp - 0xe]
cmp edi, 0
jl 0x45ebfc
cmp edi, 0xc8
jge 0x45ebfc
cmp dword [ebp - 4], 2
jb 0x45ebfc
sub dword [ebp - 4], 2
push 2
lea edi, [ebp - 0x10]
push edi
push 1
call fcn.0045b581
add esp, 0xc
movzx edi, word [ebp - 0x10]
shl edi, 1
mov dword [ebp - 8], edi
mov edi, dword [ebp - 8]
cmp dword [ebp - 4], edi
jb 0x45ebfc
mov edi, dword [ebp - 8]
sub dword [ebp - 4], edi
push dword [ebp - 8]
mov eax, 0x194
movsx edi, word [ebp - 0xe]
mul edi
mov dword [ebp - 0xd0], eax
mov edi, dword [ebp - 0xd0]
lea edi, [edi + 0x4d1da4]
push edi
push 1
call fcn.0045b581
add esp, 0xc
movsx edi, word [ebp - 0xe]
movzx esi, word [ebp - 0x10]
mov edx, esi
mov byte [edi + 0x4e60e4], dl
push 3
movsx edi, word [ebp - 0xe]
movzx edi, di
push edi
call fcn.004378fd
add esp, 8
lea edi, [ebp - 0xe]
push edi
call fcn.00413e72
add esp, 4
or ax, ax
jne 0x45eb63
jmp 0x45fc83
cmp dword [0x4e991c], 0
je 0x45fc83
mov edi, dword [0x4e9924]
sub edi, dword [0x4e9920]
mov dword [ebp - 4], edi
jmp 0x45ecdd
movsx edi, word [ebp - 0xe]
cmp edi, 0
jl 0x45ecdd
cmp edi, 0xc8
jge 0x45ecdd
cmp dword [ebp - 4], 5
jb 0x45ecdd
sub dword [ebp - 4], 5
push 1
lea edi, [ebp - 0x10]
push edi
push 1
call fcn.0045b581
add esp, 0xc
movzx edi, word [ebp - 0x10]
and edi, 0xff
cmp edi, 0x46
jne 0x45ec89
mov dword [ebp - 0xd0], 1
jmp 0x45ec93
mov dword [ebp - 0xd0], 0
movsx edi, word [ebp - 0xe]
lea edi, [edi + 0x4c9d04]
mov esi, dword [edi]
and esi, 0xfffffffe
mov edx, dword [ebp - 0xd0]
and edx, 1
and edx, 1
or esi, edx
mov dword [edi], esi
push 4
movsx edi, word [ebp - 0xe]
lea edi, [edi*4 + 0x4e5d94]
push edi
push 1
call fcn.0045b581
add esp, 0xc
push 3
movsx edi, word [ebp - 0xe]
movzx edi, di
push edi
call fcn.00437810
add esp, 8
lea edi, [ebp - 0xe]
push edi
call fcn.00413e72
add esp, 4
or ax, ax
jne 0x45ec37
jmp 0x45fc83
cmp dword [0x4e991c], 0
je 0x45fc83
jmp 0x45ed26
mov edi, dword [0x4e9924]
cmp dword [0x4e9920], edi
jae 0x45ed26
push 0xffffffffffffffff
movsx edi, word [ebp - 0xe]
movzx edi, di
push edi
call fcn.0045d54e
add esp, 8
lea edi, [ebp - 0xe]
push edi
call fcn.00413e72
add esp, 4
or ax, ax
jne 0x45ed06
jmp 0x45fc83
cmp dword [0x4e991c], 0
je 0x45fc83
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fc83
call fcn.00411c91
mov edi, eax
movzx edi, di
mov word [ebp - 0xe], di
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 1
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45edd1
call fcn.00411a75
mov dword [ebp - 0xc], eax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45edd1
call fcn.00411a75
mov dword [ebp - 8], eax
call fcn.004114b4
jmp 0x45edd1
mov edi, dword [0x4e9924]
cmp dword [0x4e9920], edi
jae 0x45edd1
mov edi, dword [ebp - 0xc]
mov esi, edi
add esi, 1
mov dword [ebp - 0xc], esi
movsx edi, di
push edi
movsx edi, word [ebp - 0xe]
movzx edi, di
push edi
call fcn.0045d54e
add esp, 8
mov edi, dword [ebp - 8]
mov esi, edi
sub esi, 1
mov dword [ebp - 8], esi
cmp edi, 0
jne 0x45eda4
jmp 0x45fc83
cmp dword [0x4e991c], 0
je 0x45fc83
mov edi, dword [0x4e9924]
sub edi, dword [0x4e9920]
mov dword [ebp - 4], edi
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fc83
call fcn.00411c91
mov edi, eax
mov word [ebp - 0xd0], di
mov di, word [ebp - 0xd0]
mov word [ebp - 0xce], di
movzx edi, word [ebp - 0xce]
cmp edi, 0x21
jle 0x45ee42
sub word [ebp - 0xce], 0x64
movzx edi, word [ebp - 0xce]
cmp edi, 7
je 0x45ee76
cmp edi, 8
je 0x45ee76
cmp edi, 0xf
je 0x45ee76
cmp edi, 0x10
je 0x45ee76
cmp edi, 0x17
je 0x45ee76
cmp edi, 0x18
je 0x45ee76
cmp edi, 0x1f
je 0x45ee76
cmp edi, 0x20
je 0x45ee76
cmp edi, 0x21
jne 0x45ee92
movzx edi, word [ebp - 0xce]
mov eax, edi
add eax, 1
mov ecx, 8
cdq
idiv ecx
mov dword [ebp - 0xd4], eax
jmp 0x45ee9c
mov dword [ebp - 0xd4], 0
mov edi, dword [ebp - 0xd4]
mov word [ebp - 0xce], di
cmp word [ebp - 0xce], 0
jne 0x45eef5
call fcn.004114b4
jmp 0x45fc83
movzx edi, word [ebp - 0xce]
cmp edi, dword [ebp - 4]
ja 0x45eef5
push 0xffffffffffffffff
movsx edi, word [ebp - 0xe]
movzx edi, di
push edi
movzx edi, word [ebp - 0xce]
push edi
movzx edi, word [ebp - 0xd0]
push edi
call fcn.0045d310
add esp, 0x10
movzx edi, word [ebp - 0xce]
sub dword [ebp - 4], edi
lea edi, [ebp - 0xe]
push edi
call fcn.00413e72
add esp, 4
or ax, ax
jne 0x45eebd
jmp 0x45fc83
cmp dword [0x4e991c], 0
je 0x45fc83
mov edi, dword [0x4e9924]
sub edi, dword [0x4e9920]
mov dword [ebp - 4], edi
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fc83
call fcn.00411c91
mov edi, eax
mov word [ebp - 0xd0], di
mov di, word [ebp - 0xd0]
mov word [ebp - 0xce], di
movzx edi, word [ebp - 0xce]
cmp edi, 0x21
jle 0x45ef67
sub word [ebp - 0xce], 0x64
movzx edi, word [ebp - 0xce]
cmp edi, 7
je 0x45ef9b
cmp edi, 8
je 0x45ef9b
cmp edi, 0xf
je 0x45ef9b
cmp edi, 0x10
je 0x45ef9b
cmp edi, 0x17
je 0x45ef9b
cmp edi, 0x18
je 0x45ef9b
cmp edi, 0x1f
je 0x45ef9b
cmp edi, 0x20
je 0x45ef9b
cmp edi, 0x21
jne 0x45efb7
movzx edi, word [ebp - 0xce]
mov eax, edi
add eax, 1
mov ecx, 8
cdq
idiv ecx
mov dword [ebp - 0xd4], eax
jmp 0x45efc1
mov dword [ebp - 0xd4], 0
mov edi, dword [ebp - 0xd4]
mov word [ebp - 0xce], di
cmp word [ebp - 0xce], 0
jne 0x45efe2
call fcn.004114b4
jmp 0x45fc83
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fc83
call fcn.00411c91
mov edi, eax
movzx edi, di
mov word [ebp - 0xe], di
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 1
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45f082
call fcn.00411a75
mov dword [ebp - 0xc], eax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45f082
call fcn.00411a75
mov dword [ebp - 8], eax
call fcn.004114b4
jmp 0x45f082
movzx edi, word [ebp - 0xce]
cmp edi, dword [ebp - 4]
ja 0x45f082
mov edi, dword [ebp - 0xc]
mov esi, edi
add esi, 1
mov dword [ebp - 0xc], esi
movsx edi, di
push edi
movsx edi, word [ebp - 0xe]
movzx edi, di
push edi
movzx edi, word [ebp - 0xce]
push edi
movzx edi, word [ebp - 0xd0]
push edi
call fcn.0045d310
add esp, 0x10
movzx edi, word [ebp - 0xce]
sub dword [ebp - 4], edi
mov edi, dword [ebp - 8]
mov esi, edi
sub esi, 1
mov dword [ebp - 8], esi
cmp edi, 0
jne 0x45f03d
jmp 0x45fc83
cmp dword [0x4e991c], 0
je 0x45fc83
mov edi, dword [0x4e9924]
sub edi, dword [0x4e9920]
mov dword [ebp - 4], edi
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fc83
call fcn.00411c91
mov edi, eax
movzx edi, di
mov word [ebp - 0xe], di
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 1
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45f10c
call fcn.00411a75
mov dword [ebp - 0xc], eax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45f10c
call fcn.00411a75
mov dword [ebp - 8], eax
call fcn.004114b4
movsx edi, word [ebp - 0xe]
cmp edi, 0
jl 0x45fc83
cmp edi, 0xc8
jge 0x45fc83
movsx edi, word [ebp - 0xe]
mov edi, dword [edi*4 + 0x4e5a34]
mov dword [ebp - 0xd0], edi
mov edi, dword [ebp - 0xd0]
cmp edi, 0
je 0x45fc83
cmp byte [edi], 0x55
jne 0x45fc83
jmp 0x45f279
mov edi, dword [ebp - 0xd0]
mov edi, dword [edi + 8]
cmp dword [ebp - 0xc], edi
jb 0x45f166
jmp 0x45fc83
mov edi, dword [ebp - 0xd0]
movzx eax, word [edi + 6]
mul dword [ebp - 0xc]
mov dword [ebp - 0xdc], eax
mov esi, dword [ebp - 0xdc]
add esi, dword [edi + 0x44]
mov dword [ebp - 0xd4], esi
push 2
push dword [ebp - 0xd4]
push 1
call fcn.0045b581
add esp, 0xc
sub dword [ebp - 4], 2
mov edi, dword [ebp - 0xd4]
movzx edi, word [edi]
shl edi, 1
mov word [ebp - 0xd6], di
movzx edi, word [ebp - 0xd6]
cmp dword [ebp - 4], edi
jae 0x45f1e0
mov edi, dword [ebp - 4]
mov word [ebp - 0xd6], di
mov edi, dword [ebp - 0xd4]
movzx eax, word [ebp - 0xd6]
mov ecx, 2
cdq
idiv ecx
mov esi, eax
mov word [edi], si
mov edi, dword [ebp - 0xd4]
mov di, word [edi]
mov esi, dword [ebp - 0xd0]
cmp di, word [esi + 4]
jbe 0x45f21a
mov edi, dword [ebp - 0xd4]
mov esi, dword [ebp - 0xd0]
mov si, word [esi + 4]
mov word [edi], si
mov edi, dword [ebp - 0xd4]
movzx edi, word [edi]
shl edi, 1
mov word [ebp - 0xd6], di
movzx edi, word [ebp - 0xd6]
push edi
mov edi, dword [ebp - 0xd4]
add edi, 2
push edi
push 1
call fcn.0045b581
add esp, 0xc
movzx eax, word [ebp - 0xd6]
mov ecx, 2
cdq
idiv ecx
mov edi, eax
add edi, 1
mov esi, dword [ebp - 0xd4]
mov word [esi + edi*2], 0
movzx edi, word [ebp - 0xd6]
sub dword [ebp - 4], edi
mov edi, dword [ebp - 0xc]
mov esi, edi
add esi, 1
mov dword [ebp - 0xc], esi
push edi
movsx edi, word [ebp - 0xe]
push edi
call fcn.00438379
add esp, 8
mov edi, dword [ebp - 8]
mov esi, edi
sub esi, 1
mov dword [ebp - 8], esi
cmp edi, 0
je 0x45f293
cmp dword [ebp - 4], 2
jae 0x45f153
jmp 0x45fc83
cmp dword [0x4e991c], 0
je 0x45fc83
mov dword [ebp - 0xd0], 0
mov word [ebp - 0xd4], 0
mov byte [ebp - 0xd1], 0
mov edi, dword [0x4e9924]
sub edi, dword [0x4e9920]
mov dword [ebp - 4], edi
jmp 0x45f670
movsx edi, word [ebp - 0xe]
cmp edi, 0
jl 0x45f670
cmp edi, 0xc8
jge 0x45f670
cmp dword [ebp - 4], 2
jb 0x45f670
sub dword [ebp - 4], 2
push 1
lea edi, [ebp - 0xdd]
push edi
push 1
call fcn.0045b581
add esp, 0xc
push 1
lea edi, [ebp - 0xd9]
push edi
push 1
call fcn.0045b581
add esp, 0xc
movzx edx, byte [ebp - 0xd9]
cmp edx, 2
jge 0x45f338
mov dword [ebp - 0xe4], 4
jmp 0x45f342
mov dword [ebp - 0xe4], 0x1e
mov edi, dword [ebp - 0xe4]
mov word [ebp - 0xdc], di
movsx edi, word [ebp - 0xdc]
cmp dword [ebp - 4], edi
jb 0x45f670
movsx edi, word [ebp - 0xdc]
sub dword [ebp - 4], edi
movzx edx, byte [ebp - 0xd9]
cmp edx, 2
jl 0x45f3b0
push 2
lea edi, [ebp - 0xd4]
push edi
push 1
call fcn.0045b581
add esp, 0xc
push 3
lea edi, [ebp - 0xd0]
push edi
push 1
call fcn.0045b581
add esp, 0xc
push 1
lea edi, [ebp - 0xd1]
push edi
push 1
call fcn.0045b581
add esp, 0xc
jmp 0x45f3c3
push 4
lea edi, [ebp - 0xd0]
push edi
push 1
call fcn.0045b581
add esp, 0xc
cmp byte [ebp - 0xdd], 0x55
jne 0x45f3e0
movzx edi, byte [ebp - 0xd1]
shl edi, 1
add edi, 4
mov dword [ebp - 0xe8], edi
jmp 0x45f3ea
mov dword [ebp - 0xe8], 4
mov edi, dword [ebp - 0xe8]
mov word [ebp - 0xe0], di
mov edi, dword [ebp - 0xd0]
movzx esi, word [ebp - 0xe0]
imul edi, esi
mov dword [ebp - 8], edi
movsx edi, word [ebp - 0xe]
cmp dword [edi*4 + 0x4e5a34], 0
je 0x45f430
movsx edi, word [ebp - 0xe]
push dword [edi*4 + 0x4e5a34]
push 0x4becc8
call fcn.0041ab48
add esp, 8
mov edi, dword [ebp - 8]
add edi, 0x48
push edi
push 0x4becc8
call fcn.0041ac5f
add esp, 8
movsx esi, word [ebp - 0xe]
mov dword [esi*4 + 0x4e5a34], eax
cmp eax, 0
je 0x45f670
movsx edi, word [ebp - 0xe]
mov edi, dword [edi*4 + 0x4e5a34]
mov dword [ebp - 0xd8], edi
push 0x48
push 0
push dword [ebp - 0xd8]
call sub.CRTDLL.DLL_memset
add esp, 0xc
mov edi, dword [ebp - 0xd8]
mov dl, byte [ebp - 0xdd]
mov byte [edi], dl
mov edi, dword [ebp - 0xd8]
movzx edx, byte [ebp - 0xd1]
mov esi, edx
mov word [edi + 4], si
mov edi, dword [ebp - 0xd8]
mov si, word [ebp - 0xe0]
mov word [edi + 6], si
mov edi, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xd0]
mov dword [edi + 8], esi
mov edi, dword [ebp - 0xd8]
mov esi, edi
add esi, 0x48
mov dword [edi + 0x44], esi
movzx edx, byte [ebp - 0xd9]
cmp edx, 2
jge 0x45f50c
mov edi, dword [ebp - 0xd8]
add edi, 2
mov esi, dword [edi]
and esi, 0xfffffffe
movzx edx, byte [ebp - 0xd9]
and edx, 1
and edx, 1
or esi, edx
mov dword [edi], esi
mov edi, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xd0]
sub esi, 1
mov dword [edi + 0xc], esi
jmp 0x45f623
mov edi, dword [ebp - 0xd8]
mov si, word [ebp - 0xd4]
mov word [edi + 2], si
mov edi, dword [ebp - 0xd8]
add edi, 2
and dword [edi], 0xfffffff7
push 4
mov edi, dword [ebp - 0xd8]
add edi, 0xc
push edi
push 1
call fcn.0045b581
add esp, 0xc
push 4
mov edi, dword [ebp - 0xd8]
add edi, 0x10
push edi
push 1
call fcn.0045b581
add esp, 0xc
push 4
mov edi, dword [ebp - 0xd8]
add edi, 0x14
push edi
push 1
call fcn.0045b581
add esp, 0xc
push 4
mov edi, dword [ebp - 0xd8]
add edi, 0x18
push edi
push 1
call fcn.0045b581
add esp, 0xc
push 4
mov edi, dword [ebp - 0xd8]
add edi, 0x1c
push edi
push 1
call fcn.0045b581
add esp, 0xc
push 4
mov edi, dword [ebp - 0xd8]
add edi, 0x30
push edi
push 1
call fcn.0045b581
add esp, 0xc
mov edi, dword [ebp - 0xd8]
test dword [edi + 2], 4
je 0x45f5e0
push 0
mov edi, dword [ebp - 0xd8]
push dword [edi + 0x30]
mov esi, dword [edi + 8]
sub esi, 1
push esi
mov esi, dword [edi + 0xc]
add esi, 1
push esi
push edi
call fcn.0043841a
add esp, 0x14
jmp 0x45f60a
cmp byte [ebp - 0xdd], 0x55
jne 0x45f60a
push 0
push 0
mov edi, dword [ebp - 0xd8]
mov esi, dword [edi + 8]
sub esi, 1
push esi
mov esi, dword [edi + 0xc]
add esi, 1
push esi
push edi
call fcn.0043841a
add esp, 0x14
mov edi, dword [ebp - 0xd8]
mov edi, dword [edi + 0xc]
add edi, 1
movzx esi, word [ebp - 0xe0]
imul edi, esi
mov dword [ebp - 8], edi
mov edi, dword [ebp - 0xd8]
add edi, 2
or dword [edi], 2
push 3
movsx edi, word [ebp - 0xe]
movzx edi, di
push edi
call fcn.00437949
add esp, 8
mov edi, dword [ebp - 8]
cmp dword [ebp - 4], edi
jb 0x45f667
mov edi, dword [ebp - 8]
sub dword [ebp - 4], edi
push dword [ebp - 8]
mov edi, dword [ebp - 0xd8]
push dword [edi + 0x44]
push 1
call fcn.0045b581
add esp, 0xc
jmp 0x45f670
mov edi, dword [ebp - 8]
add dword [0x4e9920], edi
lea edi, [ebp - 0xe]
push edi
call fcn.00413e72
add esp, 4
or ax, ax
jne 0x45f2d3
jmp 0x45fc83
call fcn.004114b4
push 1
call fcn.0045b65c
add esp, 4
jmp 0x45fc83
call fcn.00431653
jmp 0x45fc83
movzx edx, byte [0x4b78a2]
mov dword [ebp - 0xd0], edx
mov edi, dword [ebp - 0xd0]
cmp edi, 0x49
je 0x45f748
jg 0x45f6e8
mov edi, dword [ebp - 0xd0]
cmp edi, 0x41
je 0x45f92a
cmp edi, 0x43
je 0x45f778
cmp edi, 0x44
je 0x45f716
jmp 0x45f998
mov edi, dword [ebp - 0xd0]
cmp edi, 0x4d
je 0x45f778
jl 0x45f998
mov edi, dword [ebp - 0xd0]
cmp edi, 0x52
je 0x45f778
cmp edi, 0x54
je 0x45f898
jmp 0x45f998
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fc83
push dword [ebp - 0x14]
call fcn.0041272a
add esp, 4
call fcn.004114b4
push 2
push dword [ebp - 0x14]
call fcn.0045cd3e
add esp, 8
jmp 0x45fc83
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fc83
push dword [ebp - 0x14]
call fcn.0041272a
add esp, 4
call fcn.004114b4
push dword [ebp - 0x14]
call fcn.0045cc64
add esp, 4
jmp 0x45fc83
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fc83
push dword [ebp - 0x14]
call fcn.0041272a
add esp, 4
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fc83
push dword [ebp - 0xbc]
call fcn.0041272a
add esp, 4
mov word [ebp - 0x10], 0
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45f7d3
call fcn.00411c91
mov edi, eax
mov word [ebp - 0x10], di
call fcn.004114b4
push 0x3a
push dword [ebp - 0x14]
call sub.CRTDLL.DLL_strchr
add esp, 8
mov edi, eax
cmp edi, 0
jne 0x45fc83
push 0x3a
push dword [ebp - 0xbc]
call sub.CRTDLL.DLL_strchr
add esp, 8
cmp eax, 0
jne 0x45fc83
push dword [ebp - 0xbc]
call fcn.00491d08
add esp, 4
mov edi, eax
sub edi, 1
mov esi, dword [ebp - 0xbc]
cmp byte [esi + edi], 0x2f
jne 0x45f859
push 0x2f
push dword [ebp - 0x14]
call sub.CRTDLL.DLL_strrchr
add esp, 8
mov dword [ebp - 0xd4], eax
cmp eax, 0
je 0x45f859
mov edi, dword [ebp - 0xd4]
add edi, 1
mov dword [ebp - 0xd4], edi
push edi
push dword [ebp - 0xbc]
call sub.CRTDLL.DLL_strcat
add esp, 8
cmp byte [0x4b78a2], 0x43
jne 0x45f87d
movzx edi, word [ebp - 0x10]
push edi
push dword [ebp - 0xbc]
push dword [ebp - 0x14]
call fcn.00419c3d
add esp, 0xc
jmp 0x45fc83
movzx edi, word [ebp - 0x10]
push edi
push dword [ebp - 0xbc]
push dword [ebp - 0x14]
call fcn.00419b45
add esp, 0xc
jmp 0x45fc83
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fc83
push dword [ebp - 0x14]
call fcn.0041272a
add esp, 4
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fc83
call fcn.00411c91
mov edi, eax
mov word [ebp - 0xd2], di
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fc83
call fcn.00411c91
mov edi, eax
mov word [ebp - 0xd4], di
call fcn.004114b4
push 0x3a
push dword [ebp - 0x14]
call sub.CRTDLL.DLL_strchr
add esp, 8
cmp eax, 0
jne 0x45fc83
movzx edi, word [ebp - 0xd4]
push edi
movzx edi, word [ebp - 0xd2]
push edi
push dword [ebp - 0x14]
call fcn.00419e0b
add esp, 0xc
jmp 0x45fc83
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fc83
push dword [ebp - 0x14]
call fcn.0041272a
add esp, 4
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fc83
call fcn.00411c91
mov edi, eax
mov word [ebp - 0x10], di
call fcn.004114b4
push 0x3a
push dword [ebp - 0x14]
call sub.CRTDLL.DLL_strchr
add esp, 8
cmp eax, 0
jne 0x45fc83
movzx edi, word [ebp - 0x10]
mov edx, edi
and edx, 0xff
push edx
push dword [ebp - 0x14]
call fcn.00419eef
add esp, 8
jmp 0x45fc83
call fcn.00431653
jmp 0x45fc83
movzx edx, byte [0x4b78a2]
mov dword [ebp - 0xd4], edx
cmp dword [ebp - 0xd4], 0x4f
je 0x45f9bd
jmp 0x45fa64
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fc83
push dword [ebp - 0x14]
call fcn.0041272a
add esp, 4
push 8
lea edi, [ebp - 0xdc]
push edi
call fcn.00410fc8
add esp, 8
push 0x3a
push dword [ebp - 0x14]
call sub.CRTDLL.DLL_strchr
add esp, 8
cmp eax, 0
jne 0x45fa1c
mov edi, dword [ebp - 0xd8]
shl edi, 4
shr edi, 4
add edi, 8
push edi
push 1
push 0
push dword [ebp - 0x14]
push 0
call fcn.0045b7f1
add esp, 0x14
push 8
lea edi, [ebp - 0xdc]
push edi
push 0
call fcn.0045c0fa
add esp, 0xc
mov edi, dword [ebp - 0xd8]
shl edi, 4
shr edi, 4
push edi
push 0
call fcn.0045c3b9
add esp, 8
push 0xffff
push 0xffff
push 0
call fcn.0045bc70
add esp, 0xc
call fcn.004114b4
jmp 0x45fc83
call fcn.00431653
jmp 0x45fc83
mov word [0x4b68a0], 0x50
mov word [0x4b68a2], 0x3a
mov word [0x4b68a4], 0x3e
mov word [0x4b68a6], 0
push 0x4b68a0
push 0x3e
push dword [ebp - 0x14]
call fcn.00411108
add esp, 0xc
mov word [ebp - 0x10], 1
movzx edx, byte [0x4b78a2]
mov dword [ebp - 0xd8], edx
mov edi, dword [ebp - 0xd8]
cmp edi, 0x41
jl case.0x45fad2.2
cmp edi, 0x46
jg case.0x45fad2.2
sub edi, 0x41
jmp dword [edi*4 + 0x5423f0]
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fc83
call fcn.00411c91
mov edi, eax
movzx edi, di
mov dword [ebp - 8], edi
mov dword [ebp - 0xc0], 0
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fb4a
call fcn.00411ed8
mov dword [ebp - 0xc0], eax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fb4a
push dword [ebp - 0x14]
call fcn.0041272a
add esp, 4
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fb4a
call fcn.00411c91
mov edi, eax
mov word [ebp - 0x10], di
call fcn.004114b4
cmp byte [0x4b78a2], 0x42
jne 0x45fb5f
mov dword [ebp - 0xdc], 1
jmp 0x45fb69
mov dword [ebp - 0xdc], 0
mov edi, dword [ebp - 0xdc]
mov edx, edi
and edx, 0xff
push edx
push dword [ebp - 0xc0]
movzx edi, word [ebp - 8]
push edi
movzx edi, word [ebp - 0x10]
push edi
push dword [ebp - 0x14]
call fcn.0045c84c
add esp, 0x14
jmp 0x45fc83
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fbcb
push dword [ebp - 0x14]
call fcn.0041272a
add esp, 4
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fbcb
call fcn.00411c91
mov edi, eax
mov word [ebp - 0x10], di
call fcn.004114b4
cmp byte [0x4b78a2], 0x44
jne 0x45fbe0
mov dword [ebp - 0xdc], 1
jmp 0x45fbea
mov dword [ebp - 0xdc], 0
mov edi, dword [ebp - 0xdc]
mov edx, edi
and edx, 0xff
push edx
push 0xffffffffffffffff
push 0
movzx edi, word [ebp - 0x10]
push edi
push dword [ebp - 0x14]
call fcn.0045c84c
add esp, 0x14
jmp 0x45fc83
call fcn.00431653
jmp 0x45fc83
movzx edx, byte [0x4b78a2]
mov dword [ebp - 0xd8], edx
cmp dword [ebp - 0xd8], 0x46
je 0x45fc2e
jmp 0x45fc77
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45fc83
push dword [ebp - 0x14]
call fcn.0041272a
add esp, 4
call fcn.004114b4
push str._Format.all
push dword [ebp - 0x14]
call sub.CRTDLL.DLL_strcmp
add esp, 8
cmp eax, 0
jne 0x45fc83
call fcn.0045d059
push 0xa
call sub.KERNEL32.dll_Sleep
mov dword [0x4a248c], 1
jmp 0x45fc83
call fcn.00431653
jmp 0x45fc83
call fcn.00431653
pop edi
pop esi
pop ebx
leave
ret