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

Disassembly:
mov eax, 0x25620fda
call fcn.2561c60c
push ecx
cmp dword [esp + 0x20], 0
push ebx
push ebp
mov ebp, dword [esp + 0x20]
push esi
mov esi, dword [esp + 0x28]
push edi
mov edi, dword [sym.imp.MSVCRT.dll_wcslen]
je 0x254e0ca9
mov ecx, dword [ebp + 8]
mov eax, dword [esi + 8]
cmp ecx, eax
je 0x254e0c96
test ecx, ecx
push eax
je 0x254e0c7a
call edi
lea eax, [eax + eax + 2]
push eax
push dword [ebp + 8]
call fcn.25613843
mov dword [ebp + 8], eax
push dword [esi + 8]
push eax
call dword [sym.imp.MSVCRT.dll_wcscpy]
add esp, 0x14
jmp 0x254e0c96
call edi
lea eax, [eax + eax + 2]
push eax
call fcn.25613813
mov dword [ebp + 8], eax
push dword [esi + 8]
push eax
call dword [sym.imp.MSVCRT.dll_wcscpy]
add esp, 0x10
push 0xffffffffffffffff
lea eax, [esi + 0xc]
push eax
push 3
lea ebx, [ebp + 0xc]
call fcn.2560bbc8
add esp, 0xc
mov eax, dword [esi + 0x14]
test eax, eax
je 0x254e0de9
mov ecx, dword [eax]
test ecx, ecx
push 2
pop ebx
je 0x254e0cc7
push dword [ecx]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 4]
jmp 0x254e0ccc
xor eax, eax
push ebx
xor ecx, ecx
push 1
push ebp
call fcn.254e1515
mov eax, dword [esi + 0x14]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x254e0ce8
push dword [ecx]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 4]
jmp 0x254e0ced
xor eax, eax
push ebx
xor ecx, ecx
push 0x200
push ebp
call fcn.254e1515
mov eax, dword [esi + 0x14]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x254e0d0c
push dword [ecx]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 4]
jmp 0x254e0d11
xor eax, eax
push ebx
xor ecx, ecx
push ebx
push ebp
call fcn.254e1515
mov eax, dword [esi + 0x14]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x254e0d2c
push dword [ecx]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 4]
jmp 0x254e0d31
xor eax, eax
push ebx
xor ecx, ecx
push 4
push ebp
call fcn.254e1515
mov eax, dword [esi + 0x14]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x254e0d4d
push dword [ecx]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 4]
jmp 0x254e0d52
xor eax, eax
push ebx
xor ecx, ecx
push 8
push ebp
call fcn.254e1515
mov eax, dword [esi + 0x14]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x254e0d6e
push dword [ecx]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 4]
jmp 0x254e0d73
xor eax, eax
push ebx
xor ecx, ecx
push 0x10
push ebp
call fcn.254e1515
mov eax, dword [esi + 0x14]
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x254e0d8f
push dword [ecx]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 4]
jmp 0x254e0d94
xor eax, eax
push ebx
xor ecx, ecx
push 0x80
push ebp
call fcn.254e1515
mov eax, dword [esi + 0x14]
mov ecx, dword [eax + 0x1c]
test ecx, ecx
je 0x254e0db3
push dword [ecx]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 4]
jmp 0x254e0db8
xor eax, eax
push ebx
xor ecx, ecx
push 0x100
push ebp
call fcn.254e1515
mov eax, dword [esi + 0x14]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x254e0de2
push dword [ecx]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 4]
push 0x400
push ebp
call fcn.254e1515
jmp 0x254e0df6
xor eax, eax
push ebx
xor ecx, ecx
jmp 0x254e0dd5
mov edi, ebp
call fcn.254e185d
mov edi, dword [sym.imp.MSVCRT.dll_wcslen]
mov eax, dword [esi + 0x18]
test eax, eax
je 0x254e0e4a
mov ecx, dword [ebp + 0x18]
cmp ecx, eax
je 0x254e0e5d
test ecx, ecx
push eax
je 0x254e0e2c
call edi
lea eax, [eax + eax + 2]
push eax
push dword [ebp + 0x18]
call fcn.25613843
mov ebx, dword [sym.imp.MSVCRT.dll_wcscpy]
mov dword [ebp + 0x18], eax
push dword [esi + 0x18]
push eax
call ebx
add esp, 0x14
jmp 0x254e0e63
call edi
lea eax, [eax + eax + 2]
push eax
call fcn.25613813
mov dword [ebp + 0x18], eax
push dword [esi + 0x18]
push eax
call dword [sym.imp.MSVCRT.dll_wcscpy]
add esp, 0x10
jmp 0x254e0e5d
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x254e0e5d
push eax
call dword [sym.imp.MSVCRT.dll_free]
and dword [ebp + 0x18], 0
pop ecx
mov ebx, dword [sym.imp.MSVCRT.dll_wcscpy]
mov eax, dword [esi + 0xd4]
test eax, eax
je 0x254e0ec2
mov ecx, dword [ebp + 0xd4]
cmp ecx, eax
je 0x254e0edb
test ecx, ecx
push eax
je 0x254e0ea2
call edi
lea eax, [eax + eax + 2]
push eax
push dword [ebp + 0xd4]
call fcn.25613843
mov dword [ebp + 0xd4], eax
push dword [esi + 0xd4]
push eax
call ebx
add esp, 0x14
jmp 0x254e0edb
call edi
lea eax, [eax + eax + 2]
push eax
call fcn.25613813
mov dword [ebp + 0xd4], eax
push dword [esi + 0xd4]
push eax
call ebx
add esp, 0x10
jmp 0x254e0edb
mov eax, dword [ebp + 0xd4]
test eax, eax
je 0x254e0edb
push eax
call dword [sym.imp.MSVCRT.dll_free]
and dword [ebp + 0xd4], 0
pop ecx
mov eax, dword [esi + 0xd8]
test eax, eax
je 0x254e0f3a
mov ecx, dword [ebp + 0xd8]
cmp ecx, eax
je 0x254e0f53
test ecx, ecx
push eax
je 0x254e0f1a
call edi
lea eax, [eax + eax + 2]
push eax
push dword [ebp + 0xd8]
call fcn.25613843
mov dword [ebp + 0xd8], eax
push dword [esi + 0xd8]
push eax
call ebx
add esp, 0x14
jmp 0x254e0f53
call edi
lea eax, [eax + eax + 2]
push eax
call fcn.25613813
mov dword [ebp + 0xd8], eax
push dword [esi + 0xd8]
push eax
call ebx
add esp, 0x10
jmp 0x254e0f53
mov eax, dword [ebp + 0xd8]
test eax, eax
je 0x254e0f53
push eax
call dword [sym.imp.MSVCRT.dll_free]
and dword [ebp + 0xd8], 0
pop ecx
mov eax, dword [esi + 0xdc]
test eax, eax
je 0x254e0fb2
mov ecx, dword [ebp + 0xdc]
cmp ecx, eax
je 0x254e0fcb
test ecx, ecx
push eax
je 0x254e0f92
call edi
lea eax, [eax + eax + 2]
push eax
push dword [ebp + 0xdc]
call fcn.25613843
mov dword [ebp + 0xdc], eax
push dword [esi + 0xdc]
push eax
call ebx
add esp, 0x14
jmp 0x254e0fcb
call edi
lea eax, [eax + eax + 2]
push eax
call fcn.25613813
mov dword [ebp + 0xdc], eax
push dword [esi + 0xdc]
push eax
call ebx
add esp, 0x10
jmp 0x254e0fcb
mov eax, dword [ebp + 0xdc]
test eax, eax
je 0x254e0fcb
push eax
call dword [sym.imp.MSVCRT.dll_free]
and dword [ebp + 0xdc], 0
pop ecx
mov eax, dword [esi + 0xe0]
test eax, eax
je 0x254e102a
mov ecx, dword [ebp + 0xe0]
cmp ecx, eax
je 0x254e1043
test ecx, ecx
push eax
je 0x254e100a
call edi
lea eax, [eax + eax + 2]
push eax
push dword [ebp + 0xe0]
call fcn.25613843
mov dword [ebp + 0xe0], eax
push dword [esi + 0xe0]
push eax
call ebx
add esp, 0x14
jmp 0x254e1043
call edi
lea eax, [eax + eax + 2]
push eax
call fcn.25613813
mov dword [ebp + 0xe0], eax
push dword [esi + 0xe0]
push eax
call ebx
add esp, 0x10
jmp 0x254e1043
mov eax, dword [ebp + 0xe0]
test eax, eax
je 0x254e1043
push eax
call dword [sym.imp.MSVCRT.dll_free]
and dword [ebp + 0xe0], 0
pop ecx
mov eax, dword [esi + 0x74]
mov dword [ebp + 0x74], eax
mov eax, dword [esi + 0x78]
mov dword [ebp + 0x78], eax
mov eax, dword [esi + 0xa8]
mov dword [ebp + 0xa8], eax
lea eax, [esi + 0x1c]
lea ecx, [ebp + 0x1c]
call fcn.254e3327
push esi
push ebp
call fcn.254e1397
mov eax, dword [esi + 0xac]
test eax, eax
je 0x254e10cc
mov ecx, dword [ebp + 0xac]
cmp ecx, eax
je 0x254e10e5
test ecx, ecx
push eax
je 0x254e10ac
call edi
lea eax, [eax + eax + 2]
push eax
push dword [ebp + 0xac]
call fcn.25613843
mov dword [ebp + 0xac], eax
push dword [esi + 0xac]
push eax
call ebx
add esp, 0x14
jmp 0x254e10e5
call edi
lea eax, [eax + eax + 2]
push eax
call fcn.25613813
mov dword [ebp + 0xac], eax
push dword [esi + 0xac]
push eax
call ebx
add esp, 0x10
jmp 0x254e10e5
mov eax, dword [ebp + 0xac]
test eax, eax
je 0x254e10e5
push eax
call dword [sym.imp.MSVCRT.dll_free]
and dword [ebp + 0xac], 0
pop ecx
mov eax, dword [esi + 0xb0]
test eax, eax
je 0x254e1144
mov ecx, dword [ebp + 0xb0]
cmp ecx, eax
je 0x254e115b
test ecx, ecx
push eax
je 0x254e1124
call edi
lea eax, [eax + eax + 2]
push eax
push dword [ebp + 0xb0]
call fcn.25613843
mov dword [ebp + 0xb0], eax
push dword [esi + 0xb0]
push eax
call ebx
add esp, 0x14
jmp 0x254e115b
call edi
lea eax, [eax + eax + 2]
push eax
call fcn.25613813
mov dword [ebp + 0xb0], eax
push dword [esi + 0xb0]
push eax
call ebx
add esp, 0x10
jmp 0x254e115b
lea edi, [ebp + 0xb0]
mov eax, dword [edi]
test eax, eax
je 0x254e115b
push eax
call dword [sym.imp.MSVCRT.dll_free]
and dword [edi], 0
pop ecx
mov eax, dword [esi + 0xf8]
mov dword [ebp + 0xf8], eax
lea eax, [esi + 0xf0]
push eax
push dword [esi + 0xec]
mov ebx, ebp
push dword [esi + 0xe8]
call fcn.254e1b96
mov eax, ebp
call fcn.254e1401
xor eax, eax
push eax
lea ecx, [esp + 0x2c]
push ecx
push eax
mov dword [esp + 0x3c], eax
lea ebx, [ebp + 0x7c]
mov edx, dword [ebx]
lea eax, [esp + 0x3c]
push eax
mov ecx, ebx
call dword [edx + 0x1c]
jmp 0x254e1200
push 0x58
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
mov dword [esp + 0x10], eax
xor esi, esi
cmp eax, esi
mov dword [esp + 0x1c], esi
je 0x254e11cb
mov ecx, dword [esp + 0x28]
mov edi, dword [ecx + 8]
push eax
call fcn.255470e3
mov esi, eax
or dword [esp + 0x1c], 0xffffffff
mov eax, dword [esp + 0x28]
mov ecx, esi
call fcn.255471d4
mov eax, dword [ebx]
push esi
push dword [esi + 8]
mov ecx, ebx
call dword [eax + 0x10]
call fcn.25478422
mov eax, dword [ebx]
push 0
lea ecx, [esp + 0x2c]
push ecx
push 0
lea ecx, [esp + 0x3c]
push ecx
mov ecx, ebx
call dword [eax + 0x1c]
test eax, eax
jne 0x254e11a6
mov ebx, dword [esp + 0x2c]
mov eax, dword [ebx + 0xbc]
mov dword [ebp + 0xbc], eax
mov eax, dword [ebx + 0xcc]
mov dword [ebp + 0xcc], eax
mov eax, dword [ebx + 0xd0]
mov dword [ebp + 0xd0], eax
mov eax, dword [ebx + 0xc0]
test eax, eax
je 0x254e129d
mov ecx, dword [ebp + 0xc0]
cmp ecx, eax
je 0x254e129d
test ecx, ecx
mov esi, dword [sym.imp.MSVCRT.dll_wcslen]
push eax
je 0x254e1277
call esi
lea eax, [eax + eax + 2]
push eax
push dword [ebp + 0xc0]
call fcn.25613843
mov edi, dword [sym.imp.MSVCRT.dll_wcscpy]
mov dword [ebp + 0xc0], eax
push dword [ebx + 0xc0]
push eax
call edi
add esp, 0x14
jmp 0x254e12a9
call esi
lea eax, [eax + eax + 2]
push eax
call fcn.25613813
mov edi, dword [sym.imp.MSVCRT.dll_wcscpy]
mov dword [ebp + 0xc0], eax
push dword [ebx + 0xc0]
push eax
call edi
add esp, 0x10
jmp 0x254e12a9
mov edi, dword [sym.imp.MSVCRT.dll_wcscpy]
mov esi, dword [sym.imp.MSVCRT.dll_wcslen]
mov eax, dword [ebx + 0xc4]
test eax, eax
je 0x254e1306
mov ecx, dword [ebp + 0xc4]
cmp ecx, eax
je 0x254e1306
test ecx, ecx
push eax
je 0x254e12e8
call esi
lea eax, [eax + eax + 2]
push eax
push dword [ebp + 0xc4]
call fcn.25613843
mov dword [ebp + 0xc4], eax
push dword [ebx + 0xc4]
push eax
call edi
add esp, 0x14
jmp 0x254e1306
call esi
lea eax, [eax + eax + 2]
push eax
call fcn.25613813
mov dword [ebp + 0xc4], eax
push dword [ebx + 0xc4]
push eax
call edi
add esp, 0x10
mov eax, dword [ebx + 0xc8]
test eax, eax
je 0x254e1363
mov ecx, dword [ebp + 0xc8]
cmp ecx, eax
je 0x254e1363
test ecx, ecx
push eax
je 0x254e1345
call esi
lea eax, [eax + eax + 2]
push eax
push dword [ebp + 0xc8]
call fcn.25613843
mov dword [ebp + 0xc8], eax
push dword [ebx + 0xc8]
push eax
call edi
add esp, 0x14
jmp 0x254e1363
call esi
lea eax, [eax + eax + 2]
push eax
call fcn.25613813
mov dword [ebp + 0xc8], eax
push dword [ebx + 0xc8]
push eax
call edi
add esp, 0x10
mov edi, dword [ebx + 0xe4]
mov esi, dword [ebp + 0xe4]
call fcn.2559f3c7
cmp dword [ebx + 0xf4], 0
jne 0x254e1384
and dword [ebp + 0xf4], 0
mov ecx, dword [esp + 0x14]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
leave
ret 0xc