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

Disassembly:
sub esp, 0x39c
mov eax, dword [0x517b6c]
xor eax, esp
mov dword [esp + 0x398], eax
push ebx
push ebp
push edi
mov eax, dword [0x4e2cb0]
mov ecx, dword [0x4e2cb4]
movzx edx, word [0x4e2cb8]
mov dword [esp + 0x18], eax
movzx eax, byte [0x4e2cba]
mov byte [esp + 0x22], al
xor eax, eax
mov dword [esp + 0x23], eax
mov dword [esp + 0x27], eax
mov dword [esp + 0x2b], eax
mov dword [esp + 0x2f], eax
mov dword [esp + 0x33], eax
mov byte [esp + 0x37], al
movzx eax, word [0x4e2cd0]
mov word [esp + 0x40], ax
xor eax, eax
mov dword [esp + 0x43], eax
mov dword [esp + 0x47], eax
mov dword [esp + 0x4b], eax
mov dword [esp + 0x4f], eax
mov dword [esp + 0x53], eax
mov byte [esp + 0x57], al
mov eax, dword [0x4e2ce4]
mov dword [esp + 0x1c], ecx
mov ecx, dword [0x4e2cc8]
mov word [esp + 0x20], dx
mov edx, dword [0x4e2ccc]
mov dword [esp + 0x5c], eax
xor eax, eax
mov dword [esp + 0x38], ecx
movzx ecx, byte [0x4e2cd2]
mov dword [esp + 0x3c], edx
mov edx, dword [0x4e2ce0]
mov dword [esp + 0x63], eax
mov dword [esp + 0x67], eax
mov dword [esp + 0x6b], eax
mov dword [esp + 0x6f], eax
mov dword [esp + 0x73], eax
mov byte [esp + 0x77], al
mov eax, dword [0x4e2cf8]
mov byte [esp + 0x42], cl
movzx ecx, word [0x4e2ce8]
mov dword [esp + 0x58], edx
movzx edx, byte [0x4e2cea]
mov dword [esp + 0x78], eax
movzx eax, byte [0x4e2d02]
mov word [esp + 0x60], cx
mov ecx, dword [0x4e2cfc]
mov byte [esp + 0x62], dl
movzx edx, word [0x4e2d00]
mov byte [esp + 0x82], al
xor eax, eax
mov dword [esp + 0x7c], ecx
mov ecx, dword [0x4e2d10]
mov dword [esp + 0x83], eax
mov dword [esp + 0x87], eax
mov dword [esp + 0x8b], eax
mov dword [esp + 0x8f], eax
mov dword [esp + 0x93], eax
mov byte [esp + 0x97], al
movzx eax, word [0x4e2d18]
mov word [esp + 0x80], dx
mov edx, dword [0x4e2d14]
mov dword [esp + 0x98], ecx
movzx ecx, byte [0x4e2d1a]
mov ebp, dword [esp + 0x3ac]
mov dword [esp + 0x9c], edx
mov edx, dword [0x4e2d28]
mov word [esp + 0xa0], ax
xor eax, eax
mov byte [esp + 0xa2], cl
mov dword [esp + 0xa3], eax
mov dword [esp + 0xa7], eax
mov dword [esp + 0xab], eax
mov dword [esp + 0xaf], eax
mov dword [esp + 0xb3], eax
mov byte [esp + 0xb7], al
mov dword [esp + 0xb8], edx
mov eax, dword [0x4e2d2c]
movzx ecx, word [0x4e2d30]
movzx edx, byte [0x4e2d32]
mov dword [esp + 0xbc], eax
xor eax, eax
mov dword [esp + 0xc3], eax
mov dword [esp + 0xc7], eax
mov dword [esp + 0xcb], eax
mov dword [esp + 0xcf], eax
mov dword [esp + 0xd3], eax
mov byte [esp + 0xd7], al
mov eax, dword [0x4e2d40]
mov dword [esp + 0xd8], eax
movzx eax, byte [0x4e2d4a]
mov byte [esp + 0xe2], al
xor eax, eax
mov dword [esp + 0xe3], eax
mov dword [esp + 0xe7], eax
mov dword [esp + 0xeb], eax
mov dword [esp + 0xef], eax
mov dword [esp + 0xf3], eax
mov byte [esp + 0xf7], al
movzx eax, word [0x4e2d60]
mov word [esp + 0xc0], cx
mov ecx, dword [0x4e2d44]
mov word [esp + 0x100], ax
xor eax, eax
mov byte [esp + 0xc2], dl
movzx edx, word [0x4e2d48]
mov dword [esp + 0xdc], ecx
mov ecx, dword [0x4e2d58]
mov dword [esp + 0x103], eax
mov dword [esp + 0x107], eax
mov dword [esp + 0x10b], eax
mov dword [esp + 0x10f], eax
mov dword [esp + 0x113], eax
mov byte [esp + 0x117], al
mov eax, dword [0x4e2d74]
mov dword [esp + 0xf8], ecx
movzx ecx, byte [0x4e2d62]
mov word [esp + 0xe0], dx
mov edx, dword [0x4e2d5c]
mov dword [esp + 0x11c], eax
xor eax, eax
mov dword [esp + 0xfc], edx
mov edx, dword [0x4e2d70]
mov byte [esp + 0x102], cl
movzx ecx, word [0x4e2d78]
mov dword [esp + 0x123], eax
mov dword [esp + 0x127], eax
mov dword [esp + 0x12b], eax
mov dword [esp + 0x12f], eax
mov dword [esp + 0x133], eax
mov byte [esp + 0x137], al
mov eax, dword [0x4e2d88]
mov dword [esp + 0x118], edx
movzx edx, byte [0x4e2d7a]
mov dword [esp + 0x138], eax
movzx eax, byte [0x4e2d92]
mov word [esp + 0x120], cx
mov ecx, dword [0x4e2d8c]
mov byte [esp + 0x122], dl
movzx edx, word [0x4e2d90]
mov dword [esp + 0x13c], ecx
mov ecx, dword [0x4e2da0]
mov byte [esp + 0x142], al
xor eax, eax
mov dword [esp + 0x143], eax
mov dword [esp + 0x147], eax
mov dword [esp + 0x14b], eax
mov dword [esp + 0x14f], eax
mov dword [esp + 0x153], eax
mov byte [esp + 0x157], al
movzx eax, word [0x4e2da8]
mov dword [esp + 0x158], ecx
movzx ecx, byte [0x4e2daa]
mov word [esp + 0x140], dx
mov edx, dword [0x4e2da4]
mov dword [esp + 0x15c], edx
mov word [esp + 0x160], ax
mov byte [esp + 0x162], cl
xor eax, eax
mov edx, dword [0x4e2db8]
movzx ecx, word [0x4e2dc0]
mov dword [esp + 0x163], eax
mov dword [esp + 0x167], eax
mov dword [esp + 0x16b], eax
mov dword [esp + 0x16f], eax
mov dword [esp + 0x173], eax
mov byte [esp + 0x177], al
mov eax, dword [0x4e2dbc]
mov dword [esp + 0x17c], eax
xor eax, eax
mov dword [esp + 0x183], eax
mov dword [esp + 0x187], eax
mov dword [esp + 0x18b], eax
mov dword [esp + 0x18f], eax
mov dword [esp + 0x193], eax
mov byte [esp + 0x197], al
mov eax, dword [0x4e2dd0]
mov dword [esp + 0x198], eax
movzx eax, byte [0x4e2dda]
mov byte [esp + 0x1a2], al
xor eax, eax
mov dword [esp + 0x178], edx
movzx edx, byte [0x4e2dc2]
mov dword [esp + 0x1a3], eax
mov dword [esp + 0x1a7], eax
mov dword [esp + 0x1ab], eax
mov dword [esp + 0x1af], eax
mov dword [esp + 0x1b3], eax
mov byte [esp + 0x1b7], al
movzx eax, word [0x4e2df0]
mov byte [esp + 0x182], dl
movzx edx, word [0x4e2dd8]
mov word [esp + 0x1c0], ax
xor eax, eax
mov word [esp + 0x180], cx
mov ecx, dword [0x4e2dd4]
mov dword [esp + 0x1c3], eax
mov dword [esp + 0x1c7], eax
mov dword [esp + 0x1cb], eax
mov dword [esp + 0x1cf], eax
mov dword [esp + 0x1d3], eax
mov byte [esp + 0x1d7], al
mov eax, dword [0x4e2e04]
mov dword [esp + 0x19c], ecx
mov ecx, dword [0x4e2de8]
mov word [esp + 0x1a0], dx
mov edx, dword [0x4e2dec]
mov dword [esp + 0x1dc], eax
xor eax, eax
mov dword [esp + 0x1b8], ecx
movzx ecx, byte [0x4e2df2]
mov dword [esp + 0x1bc], edx
mov edx, dword [0x4e2e00]
mov dword [esp + 0x1e3], eax
mov dword [esp + 0x1e7], eax
mov dword [esp + 0x1eb], eax
mov dword [esp + 0x1ef], eax
mov dword [esp + 0x1f3], eax
mov byte [esp + 0x1f7], al
mov eax, dword [0x4e2e18]
mov dword [esp + 0x1d8], edx
movzx edx, byte [0x4e2e0a]
mov byte [esp + 0x1c2], cl
movzx ecx, word [0x4e2e08]
mov dword [esp + 0x1f8], eax
movzx eax, byte [0x4e2e22]
mov byte [esp + 0x1e2], dl
movzx edx, word [0x4e2e20]
mov word [esp + 0x1e0], cx
mov ecx, dword [0x4e2e1c]
mov byte [esp + 0x202], al
xor eax, eax
mov dword [esp + 0x1fc], ecx
mov word [esp + 0x200], dx
mov dword [esp + 0x203], eax
mov dword [esp + 0x207], eax
mov dword [esp + 0x20b], eax
mov dword [esp + 0x20f], eax
mov dword [esp + 0x213], eax
mov ecx, dword [0x4e2e30]
mov edx, dword [0x4e2e34]
mov byte [esp + 0x217], al
movzx eax, word [0x4e2e38]
mov word [esp + 0x220], ax
xor eax, eax
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [esp + 0x223], eax
mov dword [esp + 0x227], eax
mov dword [esp + 0x22b], eax
mov dword [esp + 0x22f], eax
mov dword [esp + 0x233], eax
mov byte [esp + 0x237], al
mov eax, dword [0x4e2e4c]
mov dword [esp + 0x23c], eax
xor eax, eax
mov dword [esp + 0x218], ecx
movzx ecx, byte [0x4e2e3a]
mov dword [esp + 0x243], eax
mov dword [esp + 0x247], eax
mov dword [esp + 0x24b], eax
mov dword [esp + 0x24f], eax
mov dword [esp + 0x253], eax
mov byte [esp + 0x257], al
mov eax, dword [0x4e2e60]
mov dword [esp + 0x21c], edx
mov edx, dword [0x4e2e48]
mov byte [esp + 0x222], cl
movzx ecx, word [0x4e2e50]
mov dword [esp + 0x258], eax
movzx eax, byte [0x4e2e6a]
mov dword [esp + 0x238], edx
movzx edx, byte [0x4e2e52]
mov word [esp + 0x240], cx
mov ecx, dword [0x4e2e64]
mov byte [esp + 0x262], al
xor eax, eax
mov byte [esp + 0x242], dl
movzx edx, word [0x4e2e68]
mov dword [esp + 0x25c], ecx
mov ecx, dword [0x4e2e78]
mov dword [esp + 0x263], eax
mov dword [esp + 0x267], eax
mov dword [esp + 0x26b], eax
mov dword [esp + 0x26f], eax
mov dword [esp + 0x273], eax
mov byte [esp + 0x277], al
movzx eax, word [0x4e2e80]
mov dword [esp + 0x278], ecx
movzx ecx, byte [0x4e2e82]
mov word [esp + 0x260], dx
mov edx, dword [0x4e2e7c]
mov word [esp + 0x280], ax
xor eax, eax
push esi
mov dword [esp + 0x280], edx
mov byte [esp + 0x286], cl
mov dword [esp + 0x287], eax
mov dword [esp + 0x28b], eax
mov dword [esp + 0x28f], eax
mov dword [esp + 0x293], eax
mov dword [esp + 0x297], eax
mov byte [esp + 0x29b], al
mov dword [ebp], 0x13
call edi
test eax, eax
jle 0x462068
lea edx, [esp + 0x18]
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], edx
jmp 0x461ff0
push 0x102
lea eax, [esp + 0x29c]
push 0
push eax
call fcn.004b2fa0
mov edx, dword [esp + 0x20]
add esp, 0xc
push 0x102
lea ecx, [esp + 0x29c]
push ecx
push edx
call fcn.00409670
lea eax, [esp + 0x298]
push eax
call edi
push esi
mov ebx, eax
call edi
push eax
push esi
push ebx
lea ecx, [esp + 0x2a4]
push ecx
push 1
push 0x400
call dword [sym.imp.KERNEL32.dll_CompareStringA]
cmp eax, 2
je 0x462061
mov eax, dword [esp + 0x10]
add dword [esp + 0x14], 0x20
add eax, 1
cmp eax, 0x14
mov dword [esp + 0x10], eax
jl 0x461ff0
jmp 0x462068
mov edx, dword [esp + 0x10]
mov dword [ebp], edx
mov ecx, dword [esp + 0x3a4]
pop edi
pop ebp
pop ebx
xor ecx, esp
call fcn.004acfa0
add esp, 0x39c
ret 4