Function at 0x446be4
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
cmp dword [0x44de30], 0
jne 0x446bf8
call fcn.004469d0
cmp dword [ebp + 8], 0
jne 0x446c05
xor eax, eax
jmp 0x4473b0
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1c], eax
push 0x40
mov ecx, dword [ebp - 0x1c]
push ecx
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
cmp eax, 1
je 0x446c2b
mov edx, dword [ebp - 0x1c]
xor eax, eax
mov ax, word [edx]
cmp eax, 0x5a4d
je 0x446c32
xor eax, eax
jmp 0x4473b0
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x18], edx
push pe_nt_image_headers32
mov eax, dword [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
cmp eax, 1
je 0x446c5d
mov ecx, dword [ebp - 0x18]
cmp dword [ecx], 0x4550
je 0x446c64
xor eax, eax
jmp 0x4473b0
mov edx, dword [ebp - 0x18]
xor eax, eax
mov ax, word [edx + 0x14]
cmp eax, 0xe0
jne 0x446c85
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov dx, word [ecx + 0x18]
cmp edx, 0x10b
je 0x446c8f
mov eax, 4
jmp 0x4473b0
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov cx, word [eax + 6]
cmp ecx, 1
jge 0x446ca4
xor eax, eax
jmp 0x4473b0
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x80]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x446cd3
mov ecx, dword [ebp - 4]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 4], ecx
jmp 0x446cdd
mov eax, 8
jmp 0x4473b0
mov edx, 1
test edx, edx
je 0x4473ab
mov eax, dword [ebp - 4]
cmp dword [eax + 4], 0
jne 0x446d01
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xc], 0
jne 0x446d01
jmp 0x4473ab
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xc]
add eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], 0
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push 0x4419dc
mov edx, dword [ebp - 0xc]
push edx
call fcn.00448bd0
add esp, 0xc
test eax, eax
jne 0x446d3b
mov dword [ebp - 8], 1
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push 0x4419ec
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.00448bd0
add esp, 0xc
test eax, eax
jne 0x446d62
mov dword [ebp - 8], 2
xor edx, edx
test edx, edx
je 0x446d75
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x24], ecx
jmp 0x446d81
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x10]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x10]
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x24]
cmp dword [eax], 0
je 0x44739d
mov dword [ebp - 0x28], 0x80000000
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx]
and edx, dword [ebp - 0x28]
test edx, edx
je 0x446db1
jmp 0x44737c
xor eax, eax
test eax, eax
je 0x447110
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx]
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0x14], edx
cmp dword [ebp - 8], 1
jne 0x44710b
push 0x4419f8
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x446df1
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x44dcf0]
mov dword [ecx], edx
push 0x441a08
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x446e12
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x44dcec]
mov dword [ecx], edx
push 0x441a18
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x446e33
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x44dcf8]
mov dword [ecx], edx
push 0x441a24
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x446e54
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x44dcf4]
mov dword [ecx], edx
push 0x441a30
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x446e75
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x44dce4]
mov dword [ecx], edx
push 0x441a38
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x446e96
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x44dcd0]
mov dword [ecx], edx
push 0x441a44
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x446eb7
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x44dcd4]
mov dword [ecx], edx
push 0x441a4c
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x446ed8
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x44dca4]
mov dword [ecx], edx
push 0x441a5c
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x446ef9
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x44dca0]
mov dword [ecx], edx
push 0x441a6c
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x446f1a
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x44dcbc]
mov dword [ecx], edx
mov eax, dword [ebp + 0xc]
and eax, 0xff
cmp eax, 1
jge 0x44710b
push 0x441a88
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x446f4b
mov edx, dword [ebp - 0x20]
mov eax, dword [0x44dce0]
mov dword [edx], eax
push 0x441a90
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x446f6b
mov edx, dword [ebp - 0x20]
mov eax, dword [0x44dcd8]
mov dword [edx], eax
push 0x441a98
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x446f8b
mov edx, dword [ebp - 0x20]
mov eax, dword [0x44dcdc]
mov dword [edx], eax
push 0x441aa0
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x446fab
mov edx, dword [ebp - 0x20]
mov eax, dword [0x44dd14]
mov dword [edx], eax
push 0x441aac
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x446fcb
mov edx, dword [ebp - 0x20]
mov eax, dword [0x44dcfc]
mov dword [edx], eax
push 0x441ac0
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x446feb
mov edx, dword [ebp - 0x20]
mov eax, dword [0x44dd00]
mov dword [edx], eax
push 0x441ad0
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x44700b
mov edx, dword [ebp - 0x20]
mov eax, dword [0x44dd10]
mov dword [edx], eax
push 0x441adc
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x44702b
mov edx, dword [ebp - 0x20]
mov eax, dword [0x44dd0c]
mov dword [edx], eax
push 0x441ae8
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x44704b
mov edx, dword [ebp - 0x20]
mov eax, dword [0x44dd04]
mov dword [edx], eax
push 0x441af8
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x44706b
mov edx, dword [ebp - 0x20]
mov eax, dword [0x44dd08]
mov dword [edx], eax
push 0x441b04
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x44708b
mov edx, dword [ebp - 0x20]
mov eax, dword [0x44dccc]
mov dword [edx], eax
push 0x441b18
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x4470ab
mov edx, dword [ebp - 0x20]
mov eax, dword [0x44dcc8]
mov dword [edx], eax
push 0x441b2c
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x4470cb
mov edx, dword [ebp - 0x20]
mov eax, dword [0x44dcc4]
mov dword [edx], eax
push 0x441b3c
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x4470eb
mov edx, dword [ebp - 0x20]
mov eax, dword [0x44dcc0]
mov dword [edx], eax
push 0x441b4c
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x44710b
mov edx, dword [ebp - 0x20]
mov eax, dword [0x44dcb8]
mov dword [edx], eax
jmp 0x44737c
cmp dword [ebp - 8], 1
jne 0x44737c
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
cmp edx, dword [0x44de3c]
jne 0x447132
mov eax, dword [ebp - 0x20]
mov ecx, dword [0x44dcf0]
mov dword [eax], ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [edx]
cmp eax, dword [0x44de38]
jne 0x44714a
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x44dcec]
mov dword [ecx], edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
cmp ecx, dword [0x44de94]
jne 0x447161
mov edx, dword [ebp - 0x20]
mov eax, dword [0x44dcf8]
mov dword [edx], eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
cmp edx, dword [0x44de90]
jne 0x447179
mov eax, dword [ebp - 0x20]
mov ecx, dword [0x44dcf4]
mov dword [eax], ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [edx]
cmp eax, dword [0x44de8c]
jne 0x447191
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x44dce4]
mov dword [ecx], edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
cmp ecx, dword [0x44de60]
jne 0x4471a8
mov edx, dword [ebp - 0x20]
mov eax, dword [0x44dcd0]
mov dword [edx], eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
cmp edx, dword [0x44de5c]
jne 0x4471c0
mov eax, dword [ebp - 0x20]
mov ecx, dword [0x44dcd4]
mov dword [eax], ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [edx]
cmp eax, dword [0x44de44]
jne 0x4471d8
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x44dca4]
mov dword [ecx], edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
cmp ecx, dword [0x44de40]
jne 0x4471ef
mov edx, dword [ebp - 0x20]
mov eax, dword [0x44dca0]
mov dword [edx], eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
cmp edx, dword [0x44de48]
jne 0x447207
mov eax, dword [ebp - 0x20]
mov ecx, dword [0x44dcbc]
mov dword [eax], ecx
mov edx, dword [ebp + 0xc]
and edx, 0xff
cmp edx, 1
jge 0x44737c
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
cmp ecx, dword [0x44de88]
jne 0x447230
mov edx, dword [ebp - 0x20]
mov eax, dword [0x44dce0]
mov dword [edx], eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
cmp edx, dword [0x44de84]
jne 0x447248
mov eax, dword [ebp - 0x20]
mov ecx, dword [0x44dcd8]
mov dword [eax], ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [edx]
cmp eax, dword [0x44de80]
jne 0x447260
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x44dcdc]
mov dword [ecx], edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
cmp ecx, dword [0x44de7c]
jne 0x447277
mov edx, dword [ebp - 0x20]
mov eax, dword [0x44dd14]
mov dword [edx], eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
cmp edx, dword [0x44de78]
jne 0x44728f
mov eax, dword [ebp - 0x20]
mov ecx, dword [0x44dcfc]
mov dword [eax], ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [edx]
cmp eax, dword [0x44de74]
jne 0x4472a7
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x44dd00]
mov dword [ecx], edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
cmp ecx, dword [0x44de70]
jne 0x4472be
mov edx, dword [ebp - 0x20]
mov eax, dword [0x44dd10]
mov dword [edx], eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
cmp edx, dword [0x44de6c]
jne 0x4472d6
mov eax, dword [ebp - 0x20]
mov ecx, dword [0x44dd0c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [edx]
cmp eax, dword [0x44de68]
jne 0x4472ee
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x44dd04]
mov dword [ecx], edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
cmp ecx, dword [0x44de64]
jne 0x447305
mov edx, dword [ebp - 0x20]
mov eax, dword [0x44dd08]
mov dword [edx], eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
cmp edx, dword [0x44de58]
jne 0x44731d
mov eax, dword [ebp - 0x20]
mov ecx, dword [0x44dccc]
mov dword [eax], ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [edx]
cmp eax, dword [0x44de54]
jne 0x447335
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x44dcc8]
mov dword [ecx], edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
cmp ecx, dword [0x44de50]
jne 0x44734c
mov edx, dword [ebp - 0x20]
mov eax, dword [0x44dcc4]
mov dword [edx], eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
cmp edx, dword [0x44de4c]
jne 0x447364
mov eax, dword [ebp - 0x20]
mov ecx, dword [0x44dcc0]
mov dword [eax], ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [edx]
cmp eax, dword [0x44de34]
jne 0x44737c
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x44dcb8]
mov dword [ecx], edx
cmp dword [ebp - 0x20], 0
jne 0x447386
xor eax, eax
jmp 0x4473b0
mov eax, dword [ebp - 0x20]
add eax, 4
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x24]
add ecx, 4
mov dword [ebp - 0x24], ecx
jmp 0x446d8d
mov edx, dword [ebp - 4]
add edx, 0x14
mov dword [ebp - 4], edx
jmp 0x446cdd
mov eax, 1
mov esp, ebp
pop ebp
ret