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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x340
lea esi, [esp + 0x80]
mov ecx, esi
call fcn.004f30e8
cmp byte [esi], 0x11
jne 0x460114
mov dword [esp + 0x4c], 4
and dword [esp + 0x50], 0
mov eax, dword [esp + 0x84]
and dword [esp + 0x54], 0
mov dword [esp + 0x38], eax
lea eax, [0x53063c]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x80], 0x7b575ee
mov edx, dword [esp + 0x80]
call fcn.0044b617
pxor xmm0, xmm0
movdqu xmmword [esp + 0x8c], xmm0
movdqa xmmword [esp + 0x80], xmm0
xor ecx, ecx
cmp ecx, 0x1b
ja 0x4602a4
mov edx, dword [ecx + 0x53a2a0]
xor edx, dword [eax + ecx]
mov dword [esp + ecx + 0x80], edx
add ecx, 4
jmp 0x4600f6
push esi
call fcn.0040351c
pop eax
lea eax, [0x531c06]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x80], 0x18fd748f
mov edx, dword [esp + 0x80]
call fcn.0044b306
pxor xmm0, xmm0
movdqu xmmword [esp + 0x8c], xmm0
movdqa xmmword [esp + 0x80], xmm0
xor ecx, ecx
cmp ecx, 0x1b
ja 0x460178
mov edx, dword [ecx + 0x53a424]
xor edx, dword [eax + ecx]
mov dword [esp + ecx + 0x80], edx
add ecx, 4
jmp 0x46015e
movzx ecx, byte [eax + 0x1e]
movzx eax, word [eax + 0x1c]
xor eax, 0x288a
lea esi, [esp + 0x80]
mov word [esi + 0x1c], ax
xor cl, 0xb7
mov byte [esi + 0x1e], cl
movaps xmm0, xmmword [esi]
lea edi, [esp + 0x1e0]
movaps xmmword [edi], xmm0
movups xmm0, xmmword [esi + 0xf]
movups xmmword [edi + 0xf], xmm0
push 0x1f
pop ecx
xor edx, edx
call fcn.004177eb
mov dword [esp + 8], edx
movaps xmm0, xmmword [edi]
movups xmmword [eax], xmm0
movdqu xmm0, xmmword [edi + 0xf]
movdqu xmmword [eax + 0xf], xmm0
mov ecx, esi
mov dword [esp + 0xc], eax
mov edx, eax
push 0x2c
push 0x1f
call fcn.0040408e
pop eax
pop ecx
lea ecx, [esp + 0x80]
call fcn.00466d13
test eax, eax
je 0x4602fb
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edx
mov dword [esp + str.OutOfRangeImpossibleNotEnoughInvalidTooShortTooLongBadFormat__NonexhaustiveEmpty], 0x53a448
mov dword [esp + 0x1e4], 2
and dword [esp + 0x1f0], 0
lea eax, [esp + 0x58]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], fcn.0042ce6a
lea eax, [esp + 0x20]
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1ec], 1
lea ecx, [esp + 0x10]
lea edi, [esp + 0x1e0]
mov edx, edi
call fcn.004049ac
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ecx, edi
mov edx, esi
push dword [esp + 0x18]
call fcn.0040911a
pop eax
mov edi, dword [esp + 0x1e0]
mov edx, dword [esp + 0x1e4]
mov ecx, edi
call fcn.0042b815
push edi
call sub.kernel32.dll_GetModuleHandleW
mov edi, eax
mov ecx, esi
mov edx, ebx
call fcn.0043e571
test edi, edi
je 0x4601dc
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
call fcn.0043e571
jmp 0x4606c9
movzx eax, word [eax + 0x1c]
xor eax, 0x2a0d
lea esi, [esp + 0x80]
mov word [esi + 0x1c], ax
movaps xmm0, xmmword [esi]
lea eax, [esp + 0x1e0]
movaps xmmword [eax], xmm0
movdqu xmm0, xmmword [esi + 0xe]
movdqu xmmword [eax + 0xe], xmm0
lea edx, [esp + 0x38]
mov ecx, esi
push 0x1e
push eax
call fcn.0044a4ef
pop eax
pop ecx
cmp byte [esi], 0x11
jne 0x460308
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
jmp 0x460316
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
jmp 0x460926
push esi
call fcn.0040351c
pop eax
push 8
pop eax
xor edx, edx
xor ecx, ecx
shl edx, 5
add edx, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], edx
lea esi, [esp + 0x1e0]
lea ebx, [esp + 0x20]
lea edi, [esp + 0x4c]
mov dword [esp + 0x34], edx
cmp eax, edx
je 0x4603ff
lea ecx, [eax + 0x20]
mov dword [esp + 8], ecx
mov ecx, dword [eax]
test ecx, ecx
je 0x4603fb
mov dword [esp + 0x80], ecx
movups xmm0, xmmword [eax + 4]
movups xmm1, xmmword [eax + 0x10]
lea eax, [esp + 0x84]
movups xmmword [eax + 0xc], xmm1
movups xmmword [eax], xmm0
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x8c]
mov dword [esp + 0xc], eax
lea edx, [edx + ecx + 1]
movdqa xmm0, xmmword [ecx]
pmovmskb eax, xmm0
not eax
mov dword [esp + 0x1e0], ecx
add ecx, 0x10
mov dword [esp + 0x1e4], ecx
mov dword [esp + 0x1e8], edx
mov word [esp + 0x1ec], ax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x1f0], eax
mov ecx, esi
call fcn.00466218
test eax, eax
je 0x4603e2
cmp byte [eax], 2
jne 0x4603bb
add eax, 4
mov ecx, ebx
mov edx, eax
call fcn.00416aa0
mov ecx, edi
mov edx, ebx
call fcn.00455e52
jmp 0x4603bb
lea ecx, [esp + 0x80]
call fcn.0045d9c6
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x34]
jmp 0x46033a
mov edx, dword [esp + 8]
lea ecx, [esp + 0x10]
mov dword [ecx + 8], edx
call fcn.0044f91a
lea eax, [0x53433f]
mov dword [esp + 0x80], eax
lea ebx, [esp + 0x80]
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x80], 0xeafa332
mov edx, dword [esp + 0x80]
call fcn.0044b26c
mov edi, eax
push 0x154
push 0
push ebx
call fcn.004f8400
add esp, 0xc
xor eax, eax
cmp eax, 0x153
ja 0x46046d
mov ecx, dword [eax + 0x53a2be]
xor ecx, dword [edi + eax]
mov dword [esp + eax + 0x80], ecx
add eax, 4
jmp 0x460451
movzx eax, word [edi + 0x154]
xor eax, 0xb767
lea ecx, [esp + 0x80]
mov word [ecx + 0x154], ax
mov eax, 0x156
push eax
mov ebx, 0x156
lea eax, [esp + 0x84]
push eax
push esi
call fcn.004f7e80
add esp, 0xc
mov ecx, 0x156
xor edx, edx
call fcn.004177eb
mov edi, eax
mov dword [esp + 0x40], edx
push ebx
push esi
push eax
call fcn.004f7e80
add esp, 0xc
lea ebx, [esp + 0x80]
mov ecx, ebx
mov dword [esp + 0x3c], edi
mov edx, edi
push 0x2c
mov eax, 0x156
push eax
call fcn.0040408e
pop eax
pop ecx
lea esi, [esp + 0x58]
mov ecx, esi
mov edx, ebx
call fcn.00404406
mov eax, dword [esp + 0x4c]
imul edx, dword [esp + 0x54], 0xc
mov ecx, dword [esp + 0x50]
add edx, eax
mov dword [esp + 0x1e0], eax
mov dword [esp + 0x1e4], ecx
mov dword [esp + 0x1ec], edx
mov ecx, dword [esi]
mov dword [esp + 0x2c], ecx
mov edi, dword [esi + 8]
shl edi, 3
mov dword [esp + 0x68], edx
mov dword [esp + 0x64], edi
cmp eax, edx
lea esi, [esp + 0x80]
je 0x460935
lea ecx, [eax + 0xc]
mov ebx, dword [eax]
mov dword [esp + 0x30], ebx
test ebx, ebx
je 0x460933
mov dword [esp + 0x48], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x44], ecx
mov esi, dword [eax + 8]
cmp esi, 0x44
je 0x460683
cmp esi, 0x84
je 0x460683
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x6c], esi
test edi, edi
je 0x460665
lea ecx, [eax + 8]
mov dword [esp + 8], ecx
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], eax
lea ecx, [esp + 0x20]
mov edx, dword [esp + 0x30]
push esi
call fcn.004162a0
pop eax
mov dword [esp + 0x80], 0x53a414
mov dword [esp + 0x84], 2
and dword [esp + 0x90], 0
lea eax, [esp + 0x70]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], fcn.0042ce6a
lea eax, [esp + 0x78]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], 1
lea ecx, [esp + 0x10]
lea esi, [esp + 0x80]
mov edx, esi
call fcn.004049ac
mov edx, dword [esp + 0x10]
mov dword [esp + 0x34], edx
mov ecx, esi
push dword [esp + 0x18]
call fcn.004162a0
pop eax
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x80]
mov ecx, esi
push dword [esp + 0x88]
push ebx
call fcn.00417eba
pop ecx
pop edx
mov byte [esp + 0xc], al
mov edx, dword [esp + 0x84]
mov ecx, ebx
call fcn.0043e571
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x34]
call fcn.0043e571
mov edx, dword [esp + 0x24]
mov ecx, esi
mov esi, dword [esp + 0x6c]
call fcn.0043e571
add edi, 0xfffffff8
mov eax, dword [esp + 8]
cmp byte [esp + 0xc], 0
je 0x46056e
jmp 0x460683
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x44]
call fcn.0043e571
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x68]
mov edi, dword [esp + 0x64]
jmp 0x460523
lea esi, [esp + 0x1e0]
mov eax, dword [esp + 0x48]
mov dword [esi + 8], eax
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x44]
call fcn.0043e571
mov ecx, esi
call fcn.0044feb6
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x2c]
call fcn.004ec687
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
call fcn.0043e571
mov eax, dword [esp + 0x38]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [esp + 0x1e0]
mov dword [eax], 4
and dword [eax + 4], 0
push 4
pop ecx
push 5
pop eax
xor ebx, ebx
mov dword [esp + 0x1e8], ebx
sub eax, 1
jb 0x4607d4
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
call fcn.004dd5e0
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
lea ecx, [esp + 0x80]
lea edx, [esp + 0x10]
call fcn.004dd660
mov edi, dword [esp + 0x80]
mov eax, dword [esp + 0x90]
xor edx, edx
mov ecx, 0x3e8
div ecx
mov ecx, eax
mov eax, 0xf4240
mul dword [esp + 0x88]
imul esi, dword [esp + 0x8c], 0xf4240
add eax, ecx
adc esi, edx
or edi, dword [esp + 0x84]
mov ecx, 0
cmovne eax, ecx
cmovne esi, ecx
mov ecx, esi
shld ecx, eax, 0xd
mov edx, eax
shl edx, 0xd
xor edx, eax
xor ecx, esi
mov eax, ecx
shr eax, 0x11
xor eax, ecx
shld ecx, edx, 0xf
xor ecx, edx
mov edx, eax
shld edx, ecx, 5
mov esi, ecx
shl esi, 5
xor esi, ecx
xor edx, eax
push 0
push 6
push edx
push esi
call fcn.004f7290
mov esi, eax
cmp ebx, dword [esp + 0x1e4]
jne 0x4607bc
lea ecx, [esp + 0x1e0]
mov edx, ebx
call fcn.00469c56
mov ecx, dword [esp + 0x1e0]
mov ebx, dword [esp + 0x1e8]
jmp 0x4607c0
mov ecx, dword [esp + 0xc]
mov dword [ecx + ebx*4], esi
mov ebx, dword [esp + 0x1e8]
inc ebx
mov eax, dword [esp + 8]
jmp 0x4606e2
mov ecx, dword [esp + 0x1e0]
xor esi, esi
test ebx, ebx
je 0x4607ee
xor eax, eax
imul esi, esi, 0xa
add esi, dword [ecx + eax*4]
inc eax
cmp ebx, eax
jne 0x4607e3
mov eax, dword [esp + 0x1e4]
test eax, eax
je 0x460806
shl eax, 2
push 4
pop edx
push eax
call fcn.00404f8c
pop eax
lea eax, [esp + 0x58]
mov dword [eax], esi
lea ecx, [esp + 0x10]
mov dword [ecx], eax
mov edx, ecx
lea esi, [esp + 0x1e0]
mov dword [esi], str.0x0X
xor edi, edi
inc edi
mov dword [esi + 4], edi
lea eax, [esp + 0x80]
mov dword [esi + 0x10], eax
push 2
pop ecx
mov dword [esi + 0x14], edi
lea eax, [esp + 0x10]
mov dword [esi + 8], eax
lea ebx, [esp + 0x80]
mov dword [ebx], ecx
mov dword [ebx + 8], ecx
mov dword [ebx + 0x10], 0x20
and dword [ebx + 0x14], 0
mov dword [edx + 4], 0x466d80
mov dword [ebx + 0x18], 4
mov byte [ebx + 0x1c], 3
mov dword [esi + 0xc], edi
lea ecx, [esp + 0x20]
mov edx, esi
call fcn.004049ac
mov dword [ebx], str.Unknown_error_occurred._nCode:
mov dword [ebx + 4], edi
and dword [ebx + 0x10], 0
lea eax, [esp + 0x20]
mov dword [esi], eax
mov dword [esi + 4], 0x404de3
mov dword [ebx + 8], esi
mov dword [ebx + 0xc], edi
lea esi, [esp + 0x10]
mov ecx, esi
mov edx, ebx
call fcn.004049ac
mov edx, dword [esi]
lea edi, [esp + 0x1e0]
mov ecx, edi
mov dword [esp + 8], edx
push dword [esi + 8]
call fcn.0040911a
pop eax
mov ebx, dword [edi]
lea eax, [esp + 0x20]
mov edx, dword [eax]
lea esi, [esp + 0x80]
mov ecx, esi
push dword [eax + 8]
call fcn.0040911a
pop eax
mov esi, dword [esi]
push 0x11
push esi
push ebx
push 0
call sub.user32.dll_MessageBoxW
mov edi, eax
lea eax, [esp + 0x80]
mov edx, dword [eax + 4]
mov ecx, esi
call fcn.0042b815
lea eax, [esp + 0x1e0]
mov edx, dword [eax + 4]
mov ecx, ebx
call fcn.0042b815
push 2
pop eax
cmp edi, eax
je 0x46096d
cmp edi, 1
je 0x46096d
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 8]
call fcn.0043e571
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
call fcn.0043e571
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, ecx
lea ecx, [esp + 0x1e0]
mov dword [ecx + 8], edx
call fcn.0044feb6
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x2c]
call fcn.004ec687
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
call fcn.0043e571
mov eax, dword [esp + 0x38]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x46011b
xor ecx, ecx
call fcn.004dd390
ud2