Function at 0x45a2ac
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov ecx, 0xa
dec ecx
mov dword [esp + ecx*4], 0xfffa5a5a
jne 0x45a2b7
push ebx
push esi
push edi
movzx ebx, byte [0x4b78a1]
cmp ebx, 0x45
je 0x45a4dc
cmp ebx, 0x47
je 0x45b074
cmp ebx, 0x45
jl 0x45b2d1
cmp ebx, 0x50
je 0x45a951
cmp ebx, 0x52
je 0x45a2f9
jmp 0x45b2d1
movzx edx, byte [0x4b78a2]
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 0x52
je 0x45a30e
jmp 0x45a4d2
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45b2d6
call fcn.004120f4
mov word [ebp - 4], ax
movsx edi, word [ebp - 4]
push edi
push 0
push 0x4e64c0
call fcn.004420d2
add esp, 0xc
mov dword [ebp - 8], eax
cmp eax, 0
jne 0x45a34d
call fcn.004114b4
jmp 0x45b2d6
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45a49e
push 0x64
push 1
call fcn.00413c61
add esp, 8
mov word [ebp - 0xc], ax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45a49e
call fcn.004120f4
mov word [ebp - 0xa], ax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45a49e
call fcn.004120f4
mov word [ebp - 0xe], ax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45a49e
push 9
push 1
call fcn.00413c61
add esp, 8
mov word [ebp - 2], ax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45a49e
mov word [ebp - 0x18], 0
mov word [ebp - 0x16], 0
call fcn.004120f4
mov edi, eax
mov word [ebp - 0x1a], di
mov word [ebp - 0x1c], di
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45a460
call fcn.004120f4
mov word [ebp - 0x1a], ax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45a460
call fcn.004120f4
mov word [ebp - 0x18], ax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45a460
call fcn.004120f4
mov word [ebp - 0x16], ax
movsx edi, word [ebp - 0x16]
movsx eax, word [ebp - 0x1c]
mov ecx, 2
cdq
idiv ecx
cmp edi, eax
jl 0x45a443
mov word [ebp - 0x16], 0
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45a460
call fcn.00413cf7
mov esi, dword [ebp - 8]
mov word [esi + 0x5a], ax
call fcn.004114b4
movsx edi, word [ebp - 0x16]
push edi
movsx edi, word [ebp - 0x18]
push edi
movsx edi, word [ebp - 0x1a]
push edi
movsx edi, word [ebp - 0x1c]
push edi
movsx edi, word [ebp - 2]
push edi
movsx edi, word [ebp - 0xe]
push edi
movsx edi, word [ebp - 0xa]
push edi
movsx edi, word [ebp - 0xc]
push edi
push dword [ebp - 8]
call fcn.004543e8
add esp, 0x24
push dword [ebp - 8]
call fcn.0041b496
add esp, 4
mov edi, dword [ebp - 8]
cmp dword [edi + 0x14], 0
jne 0x45a4b7
push dword [ebp - 8]
call fcn.00441f04
add esp, 4
jmp 0x45b2d6
cmp word [ebp - 4], 0
jne 0x45b2d6
push dword [ebp - 8]
call fcn.004431d0
add esp, 4
jmp 0x45b2d6
call fcn.00431653
jmp 0x45b2d6
movzx edx, byte [0x4b78a2]
mov dword [ebp - 0x18], edx
mov edi, dword [ebp - 0x18]
cmp edi, 0x41
je 0x45a6bb
jl 0x45a947
mov edi, dword [ebp - 0x18]
cmp edi, 0x50
je 0x45a6bb
cmp edi, 0x53
je 0x45a6bb
cmp edi, 0x54
je 0x45a517
jmp 0x45a947
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45b2d6
call fcn.004120f4
mov word [ebp - 4], ax
movsx edi, word [ebp - 4]
push edi
push 0
push 0x4e64c0
call fcn.004420d2
add esp, 0xc
mov dword [ebp - 8], eax
cmp eax, 0
jne 0x45a556
call fcn.004114b4
jmp 0x45b2d6
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45a687
push 0x64
push 1
call fcn.00413c61
add esp, 8
mov word [ebp - 0xc], ax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45a687
call fcn.004120f4
mov word [ebp - 0xa], ax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45a687
call fcn.004120f4
mov word [ebp - 0xe], ax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45a687
push 9
push 0
call fcn.00413c61
add esp, 8
mov word [ebp - 2], ax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45a687
mov word [ebp - 0x1a], 0
call fcn.004120f4
mov edi, eax
mov word [ebp - 0x1c], di
mov word [ebp - 0x1e], di
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45a64e
call fcn.004120f4
mov word [ebp - 0x1c], ax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45a64e
call fcn.004120f4
mov word [ebp - 0x1a], ax
movsx edi, word [ebp - 0x1a]
movsx esi, word [ebp - 0x1e]
cmp edi, esi
jge 0x45a62b
movsx esi, word [ebp - 0x1c]
cmp edi, esi
jl 0x45a631
mov word [ebp - 0x1a], 0
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45a64e
call fcn.00413cf7
mov esi, dword [ebp - 8]
mov word [esi + 0x5a], ax
call fcn.004114b4
movsx edi, word [ebp - 0x1a]
push edi
movsx edi, word [ebp - 0x1c]
push edi
movsx edi, word [ebp - 0x1e]
push edi
movsx edi, word [ebp - 2]
push edi
movsx edi, word [ebp - 0xe]
push edi
movsx edi, word [ebp - 0xa]
push edi
movsx edi, word [ebp - 0xc]
push edi
push dword [ebp - 8]
call fcn.00456ce4
add esp, 0x20
push dword [ebp - 8]
call fcn.0041b496
add esp, 4
mov edi, dword [ebp - 8]
cmp dword [edi + 0x14], 0
jne 0x45a6a0
push dword [ebp - 8]
call fcn.00441f04
add esp, 4
jmp 0x45b2d6
cmp word [ebp - 4], 0
jne 0x45b2d6
push dword [ebp - 8]
call fcn.004431d0
add esp, 4
jmp 0x45b2d6
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45b2d6
call fcn.004120f4
mov word [ebp - 4], ax
movsx edi, word [ebp - 4]
push edi
push 0
push 0x4e64c0
call fcn.004420d2
add esp, 0xc
mov dword [ebp - 8], eax
cmp eax, 0
jne 0x45a6fa
call fcn.004114b4
jmp 0x45b2d6
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45a913
push 0x64
push 1
call fcn.00413c61
add esp, 8
mov word [ebp - 0xc], ax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45a913
call fcn.004120f4
mov word [ebp - 0xa], ax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45a913
call fcn.004120f4
mov word [ebp - 0xe], ax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45a913
push 9
push 0
call fcn.00413c61
add esp, 8
mov word [ebp - 2], ax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45a913
call fcn.004120f4
mov word [ebp - 0x1c], ax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45a913
call fcn.004120f4
mov word [ebp - 0x20], ax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45a913
call fcn.00413cb7
mov word [ebp - 0x1e], ax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45a913
call fcn.00413cb7
mov word [ebp - 0x1a], ax
mov di, word [ebp - 0x1a]
cmp di, word [ebp - 0x1e]
jg 0x45a7e0
add word [ebp - 0x1a], 0x168
cmp byte [0x4b78a2], 0x41
jne 0x45a7f2
mov dword [ebp - 0x28], 0
jmp 0x45a7f9
mov dword [ebp - 0x28], 0xffffffff
mov edi, dword [ebp - 0x28]
mov word [ebp - 0x22], di
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45a84e
cmp byte [0x4b78a2], 0x41
jne 0x45a833
call fcn.004120f4
mov word [ebp - 0x22], ax
mov di, word [ebp - 0x22]
cmp di, word [ebp - 0x1c]
jl 0x45a82e
mov word [ebp - 0x22], 0
call fcn.004114e8
cmp word [0x4b7960], 0xa
je 0x45a84e
call fcn.00413cf7
mov esi, dword [ebp - 8]
mov word [esi + 0x5a], ax
call fcn.004114b4
movsx edi, word [ebp - 0x1e]
movsx esi, word [ebp - 0x1a]
cmp edi, esi
je 0x45a86c
sub edi, esi
push edi
call sub.CRTDLL.DLL_abs
add esp, 4
cmp eax, 0x168
jne 0x45a89c
movsx edi, word [ebp - 0x22]
push edi
movsx edi, word [ebp - 0x20]
push edi
movsx edi, word [ebp - 0x1c]
push edi
movsx edi, word [ebp - 2]
push edi
movsx edi, word [ebp - 0xe]
push edi
movsx edi, word [ebp - 0xa]
push edi
movsx edi, word [ebp - 0xc]
push edi
push dword [ebp - 8]
call fcn.00456ce4
add esp, 0x20
jmp 0x45a908
cmp byte [0x4b78a2], 0x53
jne 0x45a8d5
movsx edi, word [ebp - 0x1a]
push edi
movsx edi, word [ebp - 0x1e]
push edi
movsx edi, word [ebp - 0x1c]
push edi
movsx edi, word [ebp - 2]
push edi
movsx edi, word [ebp - 0xe]
push edi
movsx edi, word [ebp - 0xa]
push edi
movsx edi, word [ebp - 0xc]
push edi
push dword [ebp - 8]
call fcn.00458098
add esp, 0x20
jmp 0x45a908
movsx edi, word [ebp - 0x22]
push edi
movsx edi, word [ebp - 0x1a]
push edi
movsx edi, word [ebp - 0x1e]
push edi
movsx edi, word [ebp - 0x1c]
push edi
movsx edi, word [ebp - 2]
push edi
movsx edi, word [ebp - 0xe]
push edi
movsx edi, word [ebp - 0xa]
push edi
movsx edi, word [ebp - 0xc]
push edi
push dword [ebp - 8]
call fcn.00457887
add esp, 0x24
push dword [ebp - 8]
call fcn.0041b496
add esp, 4
mov edi, dword [ebp - 8]
cmp dword [edi + 0x14], 0
jne 0x45a92c
push dword [ebp - 8]
call fcn.00441f04
add esp, 4
jmp 0x45b2d6
cmp word [ebp - 4], 0
jne 0x45b2d6
push dword [ebp - 8]
call fcn.004431d0
add esp, 4
jmp 0x45b2d6
call fcn.00431653
jmp 0x45b2d6
movzx edx, byte [0x4b78a2]
mov dword [ebp - 0x1c], edx
mov edi, dword [ebp - 0x1c]
cmp edi, 0x46
je 0x45acff
jg 0x45a978
cmp dword [ebp - 0x1c], 0x41
je case.0x45a990.7
jmp case.0x45a990.2
mov edi, dword [ebp - 0x1c]
cmp edi, 0x4c
jl case.0x45a990.2
cmp edi, 0x54
jg case.0x45a990.2
sub edi, 0x4c
jmp dword [edi*4 + 0x542254]
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45b2d6
call fcn.004120f4
mov word [ebp - 4], ax
push 0
movsx edi, word [ebp - 4]
push edi
push 0x4e64c0
call fcn.0045a165
add esp, 0xc
mov dword [ebp - 8], eax
cmp eax, 0
jne 0x45a9d6
call fcn.004114b4
jmp 0x45b2d6
mov edi, dword [ebp - 8]
mov edi, dword [edi + 0x24]
mov dword [ebp - 0x24], edi
lea edi, [0x4b68a0]
mov dword [ebp - 0x20], edi
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45b2d6
push 0x64
push 1
call fcn.00413c61
add esp, 8
mov esi, dword [ebp - 8]
mov edi, eax
movsx edi, di
mov word [esi + 0xbe], di
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45b2d6
call fcn.004120f4
mov esi, dword [ebp - 8]
mov word [esi + 0x4e], ax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45b2d6
call fcn.004120f4
mov esi, dword [ebp - 8]
mov word [esi + 0x50], ax
mov edi, dword [ebp - 8]
mov word [edi + 0xcc], 1
mov edi, dword [ebp - 0x24]
mov word [edi + 4], 0
mov edi, dword [ebp - 0x24]
mov word [edi + 6], 0
cmp byte [0x4b78a2], 0x54
jne 0x45ab4a
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45abc2
push 9
push 0
call fcn.00413c61
add esp, 8
mov esi, dword [ebp - 8]
mov word [esi + 0x74], ax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45abc2
push 0
push 0x800
push 0x4b68a0
call fcn.00412d2d
add esp, 0xc
call fcn.004114b4
push 0x4b68a0
call fcn.00459e15
add esp, 4
mov word [ebp - 2], ax
mov edi, dword [ebp - 0x20]
movsx edi, word [edi]
and edi, 0xdf
cmp edi, 0x4d
jne 0x45ab05
mov edi, dword [ebp - 0x20]
mov di, word [edi + 2]
mov word [ebp - 0xa], di
mov edi, dword [ebp - 0x20]
mov di, word [edi + 4]
mov word [ebp - 0xe], di
add dword [ebp - 0x20], 6
sub word [ebp - 2], 3
jmp 0x45ab11
mov word [ebp - 0xe], 0
mov word [ebp - 0xa], 0
mov edi, dword [ebp - 8]
mov si, word [ebp - 0xa]
mov word [edi + 0xd6], si
mov word [edi + 0xd4], si
mov edi, dword [ebp - 0x24]
mov word [edi], si
mov edi, dword [ebp - 8]
mov si, word [ebp - 0xe]
mov word [edi + 0xda], si
mov word [edi + 0xd8], si
mov edi, dword [ebp - 0x24]
mov word [edi + 2], si
jmp 0x45abc2
mov edi, dword [ebp - 8]
mov si, word [edi + 0x4e]
mov word [edi + 0xd6], si
mov word [edi + 0xd4], si
mov edi, dword [ebp - 0x24]
mov word [edi], si
mov edi, dword [ebp - 8]
mov si, word [edi + 0x50]
mov word [edi + 0xda], si
mov word [edi + 0xd8], si
mov edi, dword [ebp - 0x24]
mov word [edi + 2], si
mov word [ebp - 2], 0
jmp 0x45abb6
call fcn.004120f4
mov word [ebp - 0xa], ax
movsx edi, word [ebp - 2]
cmp edi, 0x800
jge 0x45abb6
movsx edi, word [ebp - 2]
mov esi, edi
add esi, 1
mov word [ebp - 2], si
mov esi, dword [ebp - 0x20]
mov dx, word [ebp - 0xa]
mov word [esi + edi*2], dx
call fcn.004114e8
mov edx, eax
cmp dl, 0
je 0x45ab89
cmp byte [0x4b78a2], 0x4c
je 0x45abd4
mov dword [ebp - 0x28], 1
jmp 0x45abdb
mov dword [ebp - 0x28], 0
mov edi, dword [ebp - 0x28]
movsx edi, di
push edi
movsx edi, word [ebp - 2]
push edi
push dword [ebp - 0x20]
push dword [ebp - 8]
call fcn.00459a42
add esp, 0x10
push dword [ebp - 8]
call fcn.0041b496
add esp, 4
cmp word [ebp - 4], 0
jne 0x45b2d6
push dword [ebp - 8]
call fcn.004431d0
add esp, 4
jmp 0x45b2d6
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45b2d6
call fcn.004120f4
mov word [ebp - 4], ax
movsx edi, word [ebp - 4]
push edi
call fcn.0044229b
add esp, 4
mov dword [ebp - 8], eax
cmp eax, 0
jne 0x45ac53
call fcn.004114b4
jmp 0x45b2d6
mov edi, dword [ebp - 8]
cmp word [edi + 0x4a], 0x1021
jne 0x45ac68
cmp word [edi + 0xbc], 2
je 0x45ac72
call fcn.004114b4
jmp 0x45b2d6
lea edi, [0x4b68a0]
mov dword [ebp - 0x20], edi
mov word [ebp - 2], 0
jmp 0x45acb0
call fcn.004120f4
mov word [ebp - 0xa], ax
movsx edi, word [ebp - 2]
cmp edi, 0x800
jge 0x45acb0
movsx edi, word [ebp - 2]
mov esi, edi
add esi, 1
mov word [ebp - 2], si
mov esi, dword [ebp - 0x20]
mov dx, word [ebp - 0xa]
mov word [esi + edi*2], dx
call fcn.004114e8
mov edx, eax
cmp dl, 0
je 0x45ac83
cmp byte [0x4b78a2], 0x53
jne 0x45acce
mov dword [ebp - 0x24], 1
jmp 0x45acd5
mov dword [ebp - 0x24], 0
mov edi, dword [ebp - 0x24]
movsx edi, di
push edi
movsx edi, word [ebp - 2]
push edi
push dword [ebp - 0x20]
push dword [ebp - 8]
call fcn.00459a42
add esp, 0x10
push dword [ebp - 8]
call fcn.0041b496
add esp, 4
jmp 0x45b2d6
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45b2d6
call fcn.004120f4
mov word [ebp - 4], ax
movsx edi, word [ebp - 4]
push edi
push 0
push 0x4e64c0
call fcn.004420d2
add esp, 0xc
mov dword [ebp - 8], eax
cmp eax, 0
jne 0x45ad3e
call fcn.004114b4
jmp 0x45b2d6
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45aed6
push 0x64
push 1
call fcn.00413c61
add esp, 8
mov word [ebp - 0xc], ax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45aed6
call fcn.004120f4
mov word [ebp - 0xa], ax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45aed6
call fcn.004120f4
mov word [ebp - 0xe], ax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45aed6
call fcn.004120f4
mov word [ebp - 0x1e], ax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45aed6
call fcn.004120f4
mov word [ebp - 0x20], ax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45aea7
call fcn.004120f4
mov word [ebp - 0x22], ax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45aed6
call fcn.004120f4
mov word [ebp - 0x24], ax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45ae6c
call fcn.004120f4
mov word [ebp - 0x26], ax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45aed6
call fcn.004120f4
mov word [ebp - 0x28], ax
call fcn.004114b4
movsx edi, word [ebp - 0x28]
push edi
movsx edi, word [ebp - 0x26]
push edi
movsx edi, word [ebp - 0x24]
push edi
movsx edi, word [ebp - 0x22]
push edi
movsx edi, word [ebp - 0x20]
push edi
movsx edi, word [ebp - 0x1e]
push edi
movsx edi, word [ebp - 0xe]
push edi
movsx edi, word [ebp - 0xa]
push edi
movsx edi, word [ebp - 0xc]
push edi
push dword [ebp - 8]
call fcn.00455a44
add esp, 0x28
push dword [ebp - 8]
call fcn.0041b496
add esp, 4
jmp 0x45aed6
movsx edi, word [ebp - 0x24]
push edi
movsx edi, word [ebp - 0x22]
push edi
movsx edi, word [ebp - 0x20]
push edi
movsx edi, word [ebp - 0x1e]
push edi
movsx edi, word [ebp - 0xe]
push edi
movsx edi, word [ebp - 0xa]
push edi
movsx edi, word [ebp - 0xc]
push edi
push dword [ebp - 8]
call fcn.004554b0
add esp, 0x20
push dword [ebp - 8]
call fcn.0041b496
add esp, 4
jmp 0x45aed6
movsx edi, word [ebp - 0x20]
push edi
movsx edi, word [ebp - 0x1e]
push edi
movsx edi, word [ebp - 0xe]
push edi
movsx edi, word [ebp - 0xa]
push edi
movsx edi, word [ebp - 0xc]
push edi
push dword [ebp - 8]
call fcn.004551b0
add esp, 0x18
push dword [ebp - 8]
call fcn.0041b496
add esp, 4
mov edi, dword [ebp - 8]
cmp dword [edi + 0x14], 0
jne 0x45aeef
push dword [ebp - 8]
call fcn.00441f04
add esp, 4
jmp 0x45b2d6
cmp word [ebp - 4], 0
jne 0x45b2d6
push dword [ebp - 8]
call fcn.004431d0
add esp, 4
jmp 0x45b2d6
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45b2d6
call fcn.004120f4
mov word [ebp - 4], ax
movsx edi, word [ebp - 4]
push edi
call fcn.0044229b
add esp, 4
mov dword [ebp - 8], eax
cmp eax, 0
jne 0x45af42
call fcn.004114b4
jmp 0x45b2d6
mov word [ebp - 4], 0
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45af62
call fcn.004120f4
mov word [ebp - 4], ax
call fcn.004114b4
mov edi, dword [ebp - 8]
mov si, word [ebp - 4]
cmp si, word [edi + 0x48]
je 0x45b2d6
movzx edi, word [edi + 0x4c]
cmp edi, 2
je 0x45af8f
cmp edi, 0xa
je 0x45af8f
cmp edi, 0xb
je 0x45af8f
cmp edi, 0xc
jne 0x45b2d6
mov edi, dword [ebp - 8]
mov edi, dword [edi + 0xc]
cmp edi, 0
je 0x45afb2
mov si, word [ebp - 4]
cmp si, word [edi + 0x48]
je 0x45afb2
mov edi, dword [ebp - 8]
push dword [edi + 0xc]
call fcn.00441f04
add esp, 4
movsx edi, word [ebp - 4]
push edi
call fcn.0044229b
add esp, 4
mov dword [ebp - 0x20], eax
cmp eax, 0
je 0x45b2d6
mov edi, dword [ebp - 8]
mov edi, dword [edi + 0xc]
cmp dword [ebp - 0x20], edi
je 0x45b2d6
push dword [ebp - 0x20]
call fcn.00441ea1
add esp, 4
mov edi, dword [ebp - 8]
mov esi, dword [ebp - 0x20]
mov dword [edi + 0xc], esi
mov edi, dword [ebp - 0x20]
mov esi, dword [ebp - 8]
mov dword [edi], esi
mov edi, dword [ebp - 0x20]
add edi, 0x44
or dword [edi], 0x400000
jmp 0x45b2d6
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45b2d6
call fcn.004120f4
mov word [ebp - 4], ax
movsx edi, word [ebp - 4]
push edi
call fcn.0044229b
add esp, 4
mov dword [ebp - 8], eax
cmp eax, 0
je 0x45b060
call fcn.004120f4
mov esi, dword [ebp - 8]
add esi, 0x44
mov edx, dword [esi]
and edx, 0xffdfffff
mov edi, eax
movsx edi, di
and edi, 1
and edi, 1
shl edi, 0x15
and edi, 0x200000
or edx, edi
mov dword [esi], edx
call fcn.004114b4
jmp 0x45b2d6
call fcn.00431653
jmp 0x45b2d6
movzx edx, byte [0x4b78a2]
mov dword [ebp - 0x20], edx
mov edi, dword [ebp - 0x20]
cmp edi, 0x50
je 0x45b090
cmp edi, 0x53
je 0x45b090
jmp 0x45b2ca
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45b2d6
call fcn.004120f4
mov word [ebp - 4], ax
movsx edi, word [ebp - 4]
push edi
push 0
push 0x4e64c0
call fcn.004420d2
add esp, 0xc
mov dword [ebp - 8], eax
cmp eax, 0
jne 0x45b0cf
call fcn.004114b4
jmp 0x45b2d6
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45b2a0
push 0x64
push 1
call fcn.00413c61
add esp, 8
mov word [ebp - 0xc], ax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45b2a0
call fcn.004120f4
mov word [ebp - 0xa], ax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45b2a0
call fcn.004120f4
mov word [ebp - 0xe], ax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45b2a0
push 9
push 0
call fcn.00413c61
add esp, 8
mov word [ebp - 2], ax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45b2a0
mov word [ebp - 0x22], 0
mov word [ebp - 0x26], 0
call fcn.004120f4
mov word [ebp - 0x28], ax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45b2a0
cmp byte [0x4b78a2], 0x53
jne 0x45b1a7
call fcn.004120f4
mov word [ebp - 0x22], ax
mov di, word [ebp - 0x22]
cmp di, word [ebp - 0x28]
jle 0x45b1a2
lea edi, [ebp - 0x28]
push edi
lea edi, [ebp - 0x22]
push edi
call fcn.00413da0
add esp, 8
call fcn.004114e8
cmp word [0x4b7960], 0xa
je 0x45b2a0
cmp byte [0x4b78a2], 0x50
jne 0x45b1d0
push 0x28
push 3
call fcn.00413c61
add esp, 8
mov word [ebp - 0x24], ax
jmp 0x45b1f5
push 0x28
push 2
call fcn.00413c61
add esp, 8
mov word [ebp - 0x24], ax
mov di, word [ebp - 0x22]
cmp di, word [ebp - 0x28]
jne 0x45b1f5
shl word [ebp - 0x24], 1
mov byte [0x4b78a2], 0x50
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45b227
call fcn.004120f4
mov word [ebp - 0x26], ax
call fcn.004114e8
mov edx, eax
cmp dl, 0
jne 0x45b227
call fcn.00413cf7
mov esi, dword [ebp - 8]
mov word [esi + 0x5a], ax
call fcn.004114b4
cmp byte [0x4b78a2], 0x50
jne 0x45b262
push 0x5a
movsx edi, word [ebp - 0x26]
push edi
movsx edi, word [ebp - 0x24]
push edi
movsx edi, word [ebp - 0x28]
push edi
movsx edi, word [ebp - 2]
push edi
movsx edi, word [ebp - 0xe]
push edi
movsx edi, word [ebp - 0xa]
push edi
movsx edi, word [ebp - 0xc]
push edi
push dword [ebp - 8]
call fcn.004587c9
add esp, 0x24
jmp 0x45b295
movsx edi, word [ebp - 0x26]
push edi
movsx edi, word [ebp - 0x24]
push edi
movsx edi, word [ebp - 0x22]
push edi
movsx edi, word [ebp - 0x28]
push edi
movsx edi, word [ebp - 2]
push edi
movsx edi, word [ebp - 0xe]
push edi
movsx edi, word [ebp - 0xa]
push edi
movsx edi, word [ebp - 0xc]
push edi
push dword [ebp - 8]
call fcn.00458d81
add esp, 0x24
push dword [ebp - 8]
call fcn.0041b496
add esp, 4
mov edi, dword [ebp - 8]
cmp dword [edi + 0x14], 0
jne 0x45b2b6
push dword [ebp - 8]
call fcn.00441f04
add esp, 4
jmp 0x45b2d6
cmp word [ebp - 4], 0
jne 0x45b2d6
push dword [ebp - 8]
call fcn.004431d0
add esp, 4
jmp 0x45b2d6
call fcn.00431653
jmp 0x45b2d6
call fcn.00431653
pop edi
pop esi
pop ebx
leave
ret