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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x444b10
mov eax, dword fs:[0]
push eax
sub esp, 0x60
push ebx
push esi
push edi
mov eax, dword [0x453c00]
xor eax, esp
push eax
lea eax, [esp + 0x70]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
xor edi, edi
cmp esi, edi
je 0x413a47
push 0x33
push 8
mov dword [esp + 0x24], vtable.AxAnsiString.0
call fcn.004181b0
push eax
call dword [0x446104]
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], edi
xor eax, eax
xor ebx, ebx
lea edi, [esp + 0x1c]
call fcn.0040ec10
mov dword [esp + 0x78], ebx
push 1
push esi
mov eax, 0x104
mov ecx, edi
call fcn.00411d20
push eax
call fcn.00412ad0
add esp, 0xc
push ebx
push ebx
push ebx
mov ecx, edi
call fcn.00411e90
mov esi, dword [esp + 0x28]
push ebx
push ebx
push ebx
mov ecx, edi
dec esi
call fcn.00411e90
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x413a11
mov ecx, dword [esp + 0x28]
cmp ecx, ebx
je 0x413a11
cmp esi, ecx
ja 0x413a11
je 0x413a11
cmp byte [eax + esi], 0x5c
jne 0x413a11
push ebx
push ebx
push ebx
mov ecx, edi
call fcn.00411e90
mov esi, dword [esp + 0x28]
push ebx
dec esi
push ebx
mov ecx, edi
push ebx
cmp esi, ebx
jne 0x4139f4
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x34], ebx
mov byte [eax], bl
call fcn.00411e90
jmp 0x413a11
call fcn.00411e90
cmp esi, dword [esp + 0x28]
jae 0x413a11
mov ecx, dword [esp + 0x20]
mov byte [ecx + esi], bl
mov edx, dword [esp + 0x20]
mov dword [esp + 0x28], esi
mov byte [edx + esi], bl
push ebx
push ebx
push ebx
lea ecx, [esp + 0x28]
call fcn.00411e90
mov esi, 0x44a7a2
cmp dword [esp + 0x28], ebx
je 0x413a2c
mov esi, dword [esp + 0x20]
call fcn.00413f20
cmp eax, 2
je 0x413a5c
mov dword [esp + 0x78], 0xffffffff
lea ecx, [esp + 0x1c]
call fcn.0040ebc0
xor eax, eax
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ebx
push ebx
push ebx
lea ecx, [esp + 0x28]
call fcn.00411e90
mov ebx, dword [esp + 0x28]
push 0x44b10c
lea esi, [esp + 0x20]
call fcn.0040ed60
push 0x33
push 8
mov dword [esp + 0x34], vtable.AxAnsiString.0
call fcn.004181b0
push eax
call dword [0x446104]
mov dword [esp + 0x30], eax
xor eax, eax
xor ebx, ebx
lea edi, [esp + 0x2c]
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], eax
call fcn.0040ec10
mov byte [esp + 0x78], 1
lea eax, [esp + 0x4c]
push eax
call fcn.00416990
mov byte [esp + 0x78], 2
push ebx
push ebx
push ebx
mov ecx, esi
mov dword [esp + 0x20], ebx
call fcn.00411e90
mov ecx, 0x44a7a2
cmp dword [esp + 0x28], ebx
je 0x413adc
mov ecx, dword [esp + 0x20]
xor esi, esi
push esi
push esi
xor edx, edx
call fcn.00413060
mov ecx, dword [esp + 0x58]
add esp, 8
mov ebx, eax
mov dword [esp + 0x64], esi
cmp ecx, esi
je 0x413b03
xor eax, eax
mov dword [ecx], eax
mov ecx, dword [esp + 0x50]
mov dword [ecx + 4], eax
cmp ebx, esi
je 0x413b15
push esi
mov eax, ebx
lea edi, [esp + 0x50]
call fcn.00416a90
mov esi, eax
push 0
push 0
push 0
lea ecx, [esp + 0x28]
call fcn.00411e90
cmp dword [esp + 0x28], 0
mov ecx, 0x44a7a2
je 0x413b34
mov ecx, dword [esp + 0x20]
push 1
push ebx
mov edx, esi
call fcn.00413060
add esp, 8
xor esi, esi
mov dword [esp + 0x18], eax
test eax, eax
jbe 0x413cb5
lea edx, [esp + 0x4c]
push edx
call fcn.00416bd0
test esi, esi
jl 0x413b7c
cmp esi, eax
jge 0x413b7c
cmp esi, dword [esp + 0x64]
jge 0x413b74
mov eax, dword [esp + 0x58]
imul eax, esi
add eax, dword [esp + 0x60]
jne 0x413b78
mov eax, dword [esp + 0x68]
mov eax, dword [eax]
jmp 0x413b7e
xor eax, eax
push eax
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x24]
call fcn.004126e0
add esp, 8
mov edi, eax
mov byte [esp + 0x78], 3
push 0
push 0
push 0
mov ecx, edi
call fcn.00411e90
cmp dword [edi + 0xc], 0
jne 0x413bb1
mov edi, 0x44a7a2
jmp 0x413bb4
mov edi, dword [edi + 4]
mov ebx, edi
xor eax, eax
lea edi, [esp + 0x2c]
call fcn.0040ec10
mov byte [esp + 0x78], 2
mov eax, dword [esp + 0x40]
xor edi, edi
mov dword [esp + 0x3c], vtable.AxAnsiString.0
cmp eax, edi
je 0x413bea
push eax
push edi
call fcn.004181b0
push eax
call dword [0x446100]
mov dword [esp + 0x40], edi
mov eax, dword [esp + 0x44]
cmp eax, edi
je 0x413c04
push eax
push edi
call fcn.004181b0
push eax
call dword [0x446100]
mov dword [esp + 0x44], edi
push edi
push edi
push edi
lea ecx, [esp + 0x38]
mov dword [esp + 0x54], edi
call fcn.00411e90
mov eax, 0x44a7a2
cmp dword [esp + 0x38], edi
je 0x413c23
mov eax, dword [esp + 0x30]
push eax
call fcn.00413910
mov ebx, dword [esp + 0x18]
add esp, 4
cmp ebx, eax
jg 0x413c5e
push edi
push edi
push edi
lea ecx, [esp + 0x38]
call fcn.00411e90
mov eax, 0x44a7a2
cmp dword [esp + 0x38], edi
je 0x413c4f
mov eax, dword [esp + 0x30]
push eax
call fcn.00413910
mov ebx, eax
add esp, 4
mov dword [esp + 0x14], ebx
push edi
push edi
push edi
lea ecx, [esp + 0x38]
call fcn.00411e90
mov eax, 0x44a7a2
cmp dword [esp + 0x38], edi
je 0x413c79
mov eax, dword [esp + 0x30]
push eax
call dword [0x4462ac]
cmp ebx, eax
jg 0x413caa
push edi
push edi
push edi
lea ecx, [esp + 0x38]
call fcn.00411e90
mov eax, 0x44a7a2
cmp dword [esp + 0x38], edi
je 0x413c9f
mov eax, dword [esp + 0x30]
push eax
call dword [0x4462ac]
mov dword [esp + 0x14], eax
inc esi
cmp esi, dword [esp + 0x18]
jb 0x413b4f
push 0
push 0
push 0
lea ecx, [esp + 0x28]
call fcn.00411e90
cmp dword [esp + 0x28], 0
mov ecx, 0x44a7a2
je 0x413cd4
mov ecx, dword [esp + 0x20]
push 2
push 0
xor edx, edx
call fcn.00413260
mov ecx, dword [esp + 0x58]
add esp, 8
mov esi, eax
mov dword [esp + 0x64], 0
test ecx, ecx
je 0x413cff
xor eax, eax
mov dword [ecx], eax
mov ecx, dword [esp + 0x50]
mov dword [ecx + 4], eax
test esi, esi
jne 0x413d07
xor edi, edi
jmp 0x413d16
push 0
mov eax, esi
lea edi, [esp + 0x50]
call fcn.00416a90
mov edi, eax
push 0
push 0
push 0
lea ecx, [esp + 0x28]
call fcn.00411e90
cmp dword [esp + 0x28], 0
mov ecx, 0x44a7a2
je 0x413d35
mov ecx, dword [esp + 0x20]
push 3
push esi
mov edx, edi
call fcn.00413260
add esp, 8
xor esi, esi
mov dword [esp + 0x18], eax
test eax, eax
jbe 0x413de7
lea edx, [esp + 0x4c]
push edx
call fcn.00416bd0
test esi, esi
jl 0x413d7d
cmp esi, eax
jge 0x413d7d
cmp esi, dword [esp + 0x64]
jge 0x413d75
mov eax, dword [esp + 0x58]
imul eax, esi
add eax, dword [esp + 0x60]
jne 0x413d79
mov eax, dword [esp + 0x68]
mov ebx, dword [eax]
jmp 0x413d7f
xor ebx, ebx
xor eax, eax
lea edi, [esp + 0x2c]
call fcn.0040ec10
push 0
push 0
push 0
mov ecx, edi
call fcn.00411e90
cmp dword [esp + 0x38], 0
mov eax, 0x44a7a2
je 0x413da7
mov eax, dword [esp + 0x30]
mov edi, dword [0x4462cc]
push eax
call edi
cmp dword [esp + 0x14], eax
jg 0x413ddc
push 0
push 0
push 0
lea ecx, [esp + 0x38]
call fcn.00411e90
cmp dword [esp + 0x38], 0
mov eax, 0x44a7a2
je 0x413dd5
mov eax, dword [esp + 0x30]
push eax
call edi
mov dword [esp + 0x14], eax
inc esi
cmp esi, dword [esp + 0x18]
jb 0x413d50
mov byte [esp + 0x78], 1
lea ecx, [esp + 0x4c]
call fcn.00416a10
mov byte [esp + 0x78], 0
mov eax, dword [esp + 0x30]
xor edi, edi
mov ebx, vtable.AxAnsiString.0
mov dword [esp + 0x2c], ebx
cmp eax, edi
je 0x413e23
push eax
push edi
call fcn.004181b0
mov esi, dword [0x446100]
push eax
call esi
mov dword [esp + 0x30], edi
jmp 0x413e29
mov esi, dword [0x446100]
mov eax, dword [esp + 0x34]
cmp eax, edi
je 0x413e3f
push eax
push edi
call fcn.004181b0
push eax
call esi
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x78], 0xffffffff
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1c], ebx
cmp eax, edi
je 0x413e65
push eax
push edi
call fcn.004181b0
push eax
call esi
mov dword [esp + 0x20], edi
mov eax, dword [esp + 0x24]
cmp eax, edi
je 0x413e7b
push eax
push edi
call fcn.004181b0
push eax
call esi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret