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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x394
mov eax, dword [0x4e4014]
xor eax, esp
mov dword [esp + 0x390], eax
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
mov edi, dword [ebp + 8]
mov esi, ecx
mov dword [esp + 0x1c], esi
cmp edi, 0xffffffff
jl 0x46dad2
mov ecx, dword [esi]
cmp edi, dword [ecx + 4]
jge 0x46dad2
cmp dword [esi + 4], 0xffffffff
je 0x46d675
call fcn.0041d913
or dword [esi + 4], 0xffffffff
cmp edi, dword [esi + 0x238]
jne 0x46d699
cmp edi, 0xffffffff
je 0x46d699
add esi, 8
mov ecx, 0x8c
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
xor eax, eax
jmp 0x46dad7
mov ecx, dword [esi]
cmp edi, 0xffffffff
jne 0x46d6e3
mov eax, dword [ecx + 4]
mov dword [ebx], eax
xor eax, eax
mov word [ebx + 4], ax
mov dword [ebx + 0x20c], eax
mov dword [ebx + 0x210], eax
mov dword [ebx + 0x214], eax
mov dword [ebx + 0x218], eax
mov dword [ebx + 0x21c], eax
mov dword [ebx + 0x220], eax
mov dword [ebx + 0x224], eax
mov dword [ebx + 0x228], eax
mov dword [ebx + 0x22c], eax
jmp 0x46d692
cmp dword [ecx + 0x10], edi
jle 0x46d6fb
call fcn.004535fc
jmp 0x46d6f6
mov ecx, dword [esi]
call fcn.00413c6b
mov ecx, dword [esi]
cmp dword [ecx + 0x10], edi
jl 0x46d6ef
sub esp, 0x14
lea eax, [esp + 0x9c]
lea edx, [esp + 0x34]
push eax
call fcn.00476bec
mov ecx, dword [esi]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x28]
push eax
lea edx, [esp + 0x34]
call fcn.0048988a
add esp, 0x20
test eax, eax
je 0x46d737
mov eax, 0x700
jmp 0x46dad7
mov ecx, dword [esi]
mov edx, dword [esp + 0xc]
push 0
mov ecx, dword [ecx]
call fcn.0049a837
pop ecx
test eax, eax
je 0x46d755
mov eax, 0x800
jmp 0x46dad7
push dword [esp + 0x10]
call dword [sym.imp.mfc140u.dll_operator]
pop ecx
mov ecx, dword [esi]
mov edi, eax
xor edx, edx
inc edx
push dword [ecx]
mov ecx, edi
push dword [esp + 0x14]
call fcn.004699e8
pop ecx
pop ecx
cmp eax, dword [esp + 0x10]
je 0x46d786
push edi
call dword [sym.imp.mfc140u.dll_operator_1]
pop ecx
jmp 0x46d74b
mov eax, dword [esi]
mov ecx, 0xfde9
push 0x104
mov eax, dword [eax + 0x10]
mov dword [ebx], eax
lea eax, [esp + 0x194]
push eax
lea eax, [esp + 0x90]
push 0xffffffffffffffff
push eax
call fcn.004714f2
add esp, 0x10
lea esi, [esp + 0x190]
movzx eax, word [esi]
test ax, ax
je 0x46d7cc
cmp word [esi + 2], 0x3a
jne 0x46d7cc
add esi, 4
jmp 0x46d7b8
cmp eax, 0x5c
jne 0x46d7d6
add esi, 2
jmp 0x46d7b8
cmp eax, 0x2f
je 0x46d7d1
push 0x4c44b4
push esi
call dword [sym.imp.VCRUNTIME140.dll_wcsstr]
pop ecx
pop ecx
test eax, eax
je 0x46d7f2
lea esi, [eax + 8]
jmp 0x46d7b8
push str..._
push esi
call dword [sym.imp.VCRUNTIME140.dll_wcsstr]
pop ecx
pop ecx
test eax, eax
jne 0x46d7ed
push 0x4c44cc
push esi
call dword [sym.imp.VCRUNTIME140.dll_wcsstr]
pop ecx
pop ecx
test eax, eax
jne 0x46d7ed
push str._.._
push esi
call dword [sym.imp.VCRUNTIME140.dll_wcsstr]
pop ecx
pop ecx
test eax, eax
jne 0x46d7ed
push esi
lea eax, [ebx + 4]
push 0x104
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
mov edx, dword [esp + 0x60]
add esp, 0xc
mov eax, edx
mov byte [esp + 0x18], 0
shr eax, 0x1e
mov ecx, edx
and eax, 0xffffff01
shr ecx, 0x17
mov dword [esp + 0x74], eax
not cl
mov eax, dword [esp + 0x20]
and cl, 1
shr eax, 8
mov byte [esp + 0xc], 0
mov byte [esp + 0x14], 1
test eax, eax
je 0x46d880
cmp eax, 7
je 0x46d880
cmp eax, 0xb
je 0x46d880
cmp eax, 0xe
jne 0x46d8b6
mov eax, edx
mov cl, dl
shr eax, 1
and cl, 1
and eax, 0xffffff01
mov dword [esp + 0x18], eax
mov eax, edx
shr eax, 2
and eax, 0xffffff01
mov dword [esp + 0xc], eax
mov eax, edx
shr eax, 4
and al, 1
shr edx, 5
mov byte [esp + 0x74], al
and edx, 0xffffff01
jmp 0x46d8ba
mov edx, dword [esp + 0x14]
and dword [ebx + 0x20c], 0
xor eax, eax
cmp byte [esp + 0x74], al
je 0x46d8d2
push 0x10
pop eax
mov dword [ebx + 0x20c], eax
test dl, dl
je 0x46d8df
or eax, 0x20
mov dword [ebx + 0x20c], eax
cmp byte [esp + 0x18], 0
je 0x46d8ef
or eax, 2
mov dword [ebx + 0x20c], eax
test cl, cl
je 0x46d8fc
or eax, 1
mov dword [ebx + 0x20c], eax
cmp byte [esp + 0xc], 0
je 0x46d90c
or eax, 4
mov dword [ebx + 0x20c], eax
mov edx, dword [esp + 0x30]
mov ecx, edx
mov eax, dword [esp + 0x38]
mov dword [ebx + 0x228], eax
mov eax, dword [esp + 0x3c]
shr ecx, 0x10
mov dword [ebx + 0x22c], eax
call fcn.00466522
mov dword [esp + 0x7c], edx
lea ecx, [esp + 0x78]
lea edx, [esp + 0x80]
mov dword [esp + 0x78], eax
call fcn.004a7e9b
mov ecx, dword [esp + 0x80]
xor esi, esi
cmp dword [esp + 0x10], 4
mov eax, dword [esp + 0x84]
mov dword [ebx + 0x210], ecx
mov dword [ebx + 0x214], eax
mov dword [ebx + 0x218], ecx
mov dword [ebx + 0x21c], eax
mov dword [ebx + 0x220], ecx
mov dword [ebx + 0x224], eax
jbe 0x46da8f
mov byte [esp + 0x76], 0
mov al, byte [esi + edi]
lea edx, [esp + 0x74]
mov byte [esp + 0x74], al
xor ecx, ecx
mov al, byte [edi + esi + 1]
mov byte [esp + 0x75], al
movzx eax, byte [edx + ecx]
mov edx, 0x4c44e4
cmp al, byte [edx + ecx]
lea edx, [esp + 0x74]
jne 0x46dab9
inc ecx
cmp ecx, 3
jne 0x46d99f
mov al, byte [esi + edi + 4]
add esi, 5
movzx ecx, al
mov edx, ecx
shr ecx, 2
shr edx, 1
and cl, 1
and edx, 0xffffff01
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], edx
test al, 1
je 0x46da1b
movzx ecx, byte [esi + edi + 3]
movzx eax, byte [esi + edi + 2]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + edi + 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + edi]
shl ecx, 8
add esi, 4
or ecx, eax
call fcn.0040a4ef
mov dword [ebx + 0x224], edx
mov edx, dword [esp + 0x14]
mov dword [ebx + 0x220], eax
test dl, dl
je 0x46da55
movzx ecx, byte [esi + edi + 3]
movzx eax, byte [esi + edi + 2]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + edi + 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + edi]
shl ecx, 8
add esi, 4
or ecx, eax
call fcn.0040a4ef
mov dword [ebx + 0x210], eax
mov dword [ebx + 0x214], edx
cmp byte [esp + 0xc], 0
je 0x46da8f
movzx ecx, byte [esi + edi + 3]
movzx eax, byte [esi + edi + 2]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + edi + 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + edi]
shl ecx, 8
or ecx, eax
call fcn.0040a4ef
mov dword [ebx + 0x218], eax
mov dword [ebx + 0x21c], edx
test edi, edi
je 0x46da9b
push edi
call dword [sym.imp.mfc140u.dll_operator_1]
pop ecx
mov eax, dword [esp + 0x1c]
mov ecx, 0x8c
mov esi, ebx
lea edi, [eax + 8]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 8]
mov dword [eax + 0x238], ecx
jmp 0x46d692
movzx eax, byte [esi + edi + 2]
add eax, 4
add esi, eax
lea eax, [esi + 4]
cmp eax, dword [esp + 0x10]
jb 0x46d98a
jmp 0x46da8f
mov eax, 0x10000
mov ecx, dword [esp + 0x39c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00430234
mov esp, ebp
pop ebp
ret 8