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

Disassembly:
mov eax, 0x21b4
call fcn.004d6340
mov eax, dword [esp + 0x21bc]
push ebx
push ebp
push esi
push edi
xor esi, esi
push 0x598030
push eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x30], esi
xor edi, edi
call fcn.004d5ece
mov ebx, eax
add esp, 8
cmp ebx, esi
jne 0x415c72
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x21b4
ret
mov ecx, dword [esp + 0x21d0]
push esi
add ecx, 4
push ecx
push ebx
call fcn.004d5be4
add esp, 0xc
test eax, eax
push ebx
je 0x415ca1
call fcn.004d5e20
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x21b4
ret
push 1
lea edx, [esp + 0x3c]
push 4
push edx
call fcn.004d58aa
mov eax, dword [esp + 0x21e4]
add esp, 0x10
lea ebp, [eax + eax]
test ebp, ebp
mov dword [esp + 0x2c], ebp
jle 0x415f81
jmp 0x415cce
mov esi, dword [esp + 0x1c]
push ebx
push 1
lea ecx, [esp + 0x2c]
push 4
push ecx
call fcn.004d58aa
push ebx
push 1
lea edx, [esp + 0x48]
push 4
push edx
call fcn.004d58aa
mov eax, dword [esp + 0x50]
add esp, 0x20
lea esi, [esi + eax + 8]
mov eax, dword [esp + 0x24]
sub eax, 2
mov dword [esp + 0x1c], esi
je 0x415d14
sub eax, 3
je 0x415d95
dec eax
jne 0x415f5a
push ebx
push 1
lea edx, [esp + 0xf4]
push 8
push edx
call fcn.004d58aa
push ebx
push 1
lea eax, [esp + 0x30]
push 4
push eax
mov byte [esp + 0x114], 0
call fcn.004d58aa
mov eax, dword [esp + 0x54]
add esp, 0x20
test eax, eax
jne 0x415d5a
push ebx
push 1
lea ecx, [esp + 0x30]
push 4
push ecx
call fcn.004d58aa
add esp, 0x10
cmp dword [esp + 0x24], 2
jne 0x415db5
test edi, edi
je 0x415d6e
push edi
call fcn.004d59c1
add esp, 4
mov edx, dword [esp + 0x18]
push 1
inc edx
push edx
call fcn.004d61b4
mov ecx, dword [esp + 0x20]
push ebx
push 1
push ecx
push eax
mov dword [esp + 0x28], eax
call fcn.004d58aa
add esp, 0x18
jmp 0x415f44
push ebx
push 1
lea ecx, [esp + 0x50]
push 0xa4
push ecx
call fcn.004d58aa
add esp, 0x10
add esi, 0xa4
jmp 0x415f56
lea edx, [esp + 0xec]
push str.OiAnText
push edx
call fcn.004d6b10
add esp, 8
test eax, eax
jne 0x41607f
mov dword [esp + 0x20], eax
push ebx
push 1
lea eax, [esp + 0x40]
push 0x10
push eax
call fcn.004d58aa
add esp, 0x10
test edi, edi
je 0x415df5
push edi
call fcn.004d59c1
add esp, 4
mov ecx, dword [esp + 0x44]
push 1
push ecx
call fcn.004d61b4
mov edx, dword [esp + 0x4c]
push ebx
push 1
push edx
push eax
mov dword [esp + 0x28], eax
call fcn.004d58aa
push 1
push 4
push ebx
call fcn.004d5be4
mov eax, dword [esp + 0x9c]
mov edx, dword [esp + 0x21fc]
mov ecx, 0x1388
add esp, 0x24
lea eax, [eax + eax*2]
cmp edx, ecx
mov dword [esp + 0x78], eax
jge 0x415e47
cmp dword [esp + 0x21dc], ecx
jl 0x415e52
cmp eax, 0x1e
jg 0x415e52
add eax, eax
mov dword [esp + 0x78], eax
mov ebp, dword [esp + 0x5c]
mov ecx, dword [esp + 0x5d]
mov edx, dword [esp + 0x5e]
mov eax, dword [esp + 0x14]
and ebp, 0xff
and ecx, 0xff
shl ebp, 8
or ebp, ecx
and edx, 0xff
shl ebp, 8
or ebp, edx
push 0x20
test eax, eax
lea esi, [esp + 0x7c]
mov ecx, 0xf
jne 0x415fa2
lea edi, [esp + 0x110]
lea eax, [esp + 0x12c]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push eax
lea ecx, [esp + 0x9c]
push 0xffffffffffffffff
push ecx
push 0
push 0
call esi
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x1c4]
push 0x800
push edx
push 0xffffffffffffffff
push eax
push 0
push 0
call esi
mov eax, dword [esp + 0x78]
push 0
cdq
mov ecx, eax
mov eax, dword [esp + 0x5c]
xor ecx, edx
push 0
sub ecx, edx
lea edx, [esp + 0x28]
add eax, ecx
lea ecx, [esp + 0x114]
push edx
push ecx
push ebp
push 0
push 0
mov ecx, dword [esp + 0x68]
push 0
push 1
push 0
mov dword [esp + 0x80], eax
sub esp, 0x10
mov edx, esp
mov dword [edx], ecx
mov ecx, dword [esp + 0x88]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x8c]
mov dword [edx + 8], ecx
mov dword [edx + 0xc], eax
mov eax, dword [esp + 0x2200]
lea edx, [esp + 0x1fc]
push edx
push eax
call fcn.00418430
add esp, 0x40
mov dword [esp + 0x14], eax
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x2c]
add esi, eax
mov dword [esp + 0x1c], esi
test edi, edi
je 0x415f73
push edi
call fcn.004d59c1
mov dword [esp + 0x14], 0
add esp, 4
mov edi, dword [esp + 0x10]
test byte [ebx + 0xc], 0x10
jne 0x415f81
cmp esi, ebp
jl 0x415cca
push ebx
call fcn.004d5e20
mov esi, dword [esp + 0x18]
add esp, 4
push esi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x21b4
ret
lea edi, [esp + 0x16c]
lea edx, [esp + 0x98]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea ecx, [esp + 0x188]
push ecx
push 0xffffffffffffffff
push edx
push 0
push 0
call esi
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x11c4]
push 0x800
push eax
push 0xffffffffffffffff
push ecx
push 0
push 0
call esi
mov eax, dword [esp + 0x78]
push 0
cdq
mov ecx, eax
mov eax, dword [esp + 0x5c]
xor ecx, edx
push 0
sub ecx, edx
lea edx, [esp + 0x28]
add eax, ecx
lea ecx, [esp + 0x170]
push edx
push ecx
push ebp
push 0
push 0
mov ecx, dword [esp + 0x68]
push 0
push 1
push 0
mov dword [esp + 0x80], eax
sub esp, 0x10
mov edx, esp
mov dword [edx], ecx
mov ecx, dword [esp + 0x88]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x8c]
mov dword [edx + 8], ecx
mov dword [edx + 0xc], eax
mov eax, dword [esp + 0x4c]
lea edx, [esp + 0x11fc]
push edx
push eax
call fcn.00418430
mov esi, eax
add esp, 0x40
test esi, esi
je 0x415f44
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x415f44
mov edi, dword [esp + 0x14]
push edi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push edi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov dword [esp + 0x14], esi
jmp 0x415f44
mov ecx, dword [esp + 0x18]
push 1
push ecx
push ebx
call fcn.004d5be4
add esp, 0xc
jmp 0x415f48