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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x394
mov eax, dword [0x4e3014]
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 0x447a16
mov ecx, dword [esi]
cmp edi, dword [ecx + 4]
jge 0x447a16
cmp dword [esi + 4], 0xffffffff
je 0x4475b9
call fcn.004a5fee
or dword [esi + 4], 0xffffffff
cmp edi, dword [esi + 0x238]
jne 0x4475dd
cmp edi, 0xffffffff
je 0x4475dd
add esi, 8
mov ecx, 0x8c
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
xor eax, eax
jmp 0x447a1b
mov ecx, dword [esi]
cmp edi, 0xffffffff
jne 0x447627
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 0x4475d6
cmp dword [ecx + 0x10], edi
jle 0x44763f
call fcn.0044abd5
jmp 0x44763a
mov ecx, dword [esi]
call fcn.0043a279
mov ecx, dword [esi]
cmp dword [ecx + 0x10], edi
jl 0x447633
sub esp, 0x14
lea eax, [esp + 0x9c]
lea edx, [esp + 0x34]
push eax
call fcn.00456d6e
mov ecx, dword [esi]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x28]
push eax
lea edx, [esp + 0x34]
call fcn.00448ea5
add esp, 0x20
test eax, eax
je 0x44767b
mov eax, 0x700
jmp 0x447a1b
mov ecx, dword [esi]
mov edx, dword [esp + 0xc]
push 0
mov ecx, dword [ecx]
call fcn.004590ed
pop ecx
test eax, eax
je 0x447699
mov eax, 0x800
jmp 0x447a1b
push dword [esp + 0x10]
call dword [sym.imp.mfc140u.dll_operator_2]
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.00436067
pop ecx
pop ecx
cmp eax, dword [esp + 0x10]
je 0x4476ca
push edi
call dword [sym.imp.mfc140u.dll_operator]
pop ecx
jmp 0x44768f
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.0045f5c0
add esp, 0x10
lea esi, [esp + 0x190]
movzx eax, word [esi]
test ax, ax
je 0x447710
cmp word [esi + 2], 0x3a
jne 0x447710
add esi, 4
jmp 0x4476fc
cmp eax, 0x5c
jne 0x44771a
add esi, 2
jmp 0x4476fc
cmp eax, 0x2f
je 0x447715
push 0x4c4214
push esi
call dword [sym.imp.VCRUNTIME140.dll_wcsstr]
pop ecx
pop ecx
test eax, eax
je 0x447736
lea esi, [eax + 8]
jmp 0x4476fc
push str..._
push esi
call dword [sym.imp.VCRUNTIME140.dll_wcsstr]
pop ecx
pop ecx
test eax, eax
jne 0x447731
push 0x4c422c
push esi
call dword [sym.imp.VCRUNTIME140.dll_wcsstr]
pop ecx
pop ecx
test eax, eax
jne 0x447731
push str._.._
push esi
call dword [sym.imp.VCRUNTIME140.dll_wcsstr]
pop ecx
pop ecx
test eax, eax
jne 0x447731
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 0x4477c4
cmp eax, 7
je 0x4477c4
cmp eax, 0xb
je 0x4477c4
cmp eax, 0xe
jne 0x4477fa
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 0x4477fe
mov edx, dword [esp + 0x14]
and dword [ebx + 0x20c], 0
xor eax, eax
cmp byte [esp + 0x74], al
je 0x447816
push 0x10
pop eax
mov dword [ebx + 0x20c], eax
test dl, dl
je 0x447823
or eax, 0x20
mov dword [ebx + 0x20c], eax
cmp byte [esp + 0x18], 0
je 0x447833
or eax, 2
mov dword [ebx + 0x20c], eax
test cl, cl
je 0x447840
or eax, 1
mov dword [ebx + 0x20c], eax
cmp byte [esp + 0xc], 0
je 0x447850
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.004610c0
mov dword [esp + 0x7c], edx
lea ecx, [esp + 0x78]
lea edx, [esp + 0x80]
mov dword [esp + 0x78], eax
call fcn.0047aee9
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 0x4479d3
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, 0x4c4244
cmp al, byte [edx + ecx]
lea edx, [esp + 0x74]
jne 0x4479fd
inc ecx
cmp ecx, 3
jne 0x4478e3
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 0x44795f
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.00440e9c
mov dword [ebx + 0x224], edx
mov edx, dword [esp + 0x14]
mov dword [ebx + 0x220], eax
test dl, dl
je 0x447999
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.00440e9c
mov dword [ebx + 0x210], eax
mov dword [ebx + 0x214], edx
cmp byte [esp + 0xc], 0
je 0x4479d3
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.00440e9c
mov dword [ebx + 0x218], eax
mov dword [ebx + 0x21c], edx
test edi, edi
je 0x4479df
push edi
call dword [sym.imp.mfc140u.dll_operator]
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 0x4475d6
movzx eax, byte [esi + edi + 2]
add eax, 4
add esi, eax
lea eax, [esi + 4]
cmp eax, dword [esp + 0x10]
jb 0x4478ce
jmp 0x4479d3
mov eax, 0x10000
mov ecx, dword [esp + 0x39c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0042d374
mov esp, ebp
pop ebp
ret 8