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

Disassembly:
mov eax, 0x3b8c
call fcn.00415950
push ebx
push ebp
push esi
mov esi, dword [esp + 0x3b9c]
push edi
mov ecx, 5
lea edi, [esp + 0x28]
xor eax, eax
rep movsd dword es:[edi], dword [esi]
mov edx, dword [esp + 0x2e]
mov ecx, 0xc
lea edi, [esp + 0x9c]
push 1
rep stosd dword es:[edi], eax
mov al, byte [esp + 0x2c]
mov ecx, dword [esp + 0x2e]
mov dword [esp + 0xb5], edx
mov byte [esp + 0xaf], al
mov eax, dword [esp + 0x36]
mov dword [esp + 0xb1], ecx
mov ecx, dword [esp + 0x3b]
lea edx, [esp + 0x20]
push str._02d
push edx
mov dword [esp + 0xc1], eax
mov dword [esp + 0xc6], ecx
call fcn.004157b1
mov ebx, dword [esp + 0x3bb0]
mov ax, word [esp + 0x28]
add esp, 0xc
lea ecx, [esp + 0x1c]
mov word [esp + 0xc6], ax
push ebx
push str._02d
push ecx
call fcn.004157b1
add esp, 0xc
lea edx, [esp + 0x1c]
lea eax, [esp + 0xc9]
push 2
push edx
push eax
call fcn.004157b1
add esp, 0xc
cmp ebx, 1
mov ebp, ebx
jl 0x4031a7
mov ecx, 0xc
lea esi, [esp + 0x9c]
lea edi, [esp + 0x3c]
push ebp
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x6d]
push str._02d
push ecx
call fcn.004157b1
lea edx, [esp + 0x48]
push 0x4b0cd4
push edx
call fcn.00410f60
add esp, 0x14
test eax, eax
je 0x4031a7
cmp ebp, 1
je 0x403553
dec ebp
cmp ebp, 1
jge 0x403160
push ebp
lea eax, [esp + 0xcd]
push str._02d
push eax
call fcn.004157b1
mov ecx, 0xc
lea esi, [esp + 0xa8]
lea edi, [esp + 0x48]
xor eax, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x759
lea edi, [esp + 0xdc]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x48]
lea edx, [esp + 0xd8]
push ecx
push edx
call fcn.00410c30
add esp, 0x14
test eax, eax
jl 0x403553
mov ecx, 0x759
xor eax, eax
lea edi, [esp + 0x1e38]
lea esi, [esp + 0xd0]
rep stosd dword es:[edi], eax
mov ecx, 0x759
lea edi, [esp + 0x1e38]
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0x1e3d]
mov edi, 0x63
push 2
push esi
call fcn.00403a70
add esp, 8
cmp eax, 1
jl 0x403258
push 2
push esi
call fcn.00403a70
add esp, 8
cmp eax, ebx
jge 0x403258
push ebx
push str._02d
push esi
call fcn.004157b1
add esp, 0xc
add esi, 0x4c
dec edi
jne 0x40322a
mov ecx, 0xc
lea esi, [esp + 0x9c]
lea edi, [esp + 0x3c]
xor eax, eax
rep movsd dword es:[edi], dword [esi]
mov edi, str.f300b
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x3c]
mov eax, ecx
mov esi, edi
mov edi, edx
push ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push str._02d
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x24]
push ecx
call fcn.004157b1
add esp, 0xc
lea edx, [esp + 0x1c]
lea eax, [esp + 0xc9]
push 2
push edx
push eax
call fcn.004157b1
add esp, 0xc
xor ebx, ebx
xor esi, esi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x10], esi
mov al, byte [esp + esi + 0xdc]
test al, al
je 0x40352a
mov al, byte [esp + esi + 0xda]
test al, al
je 0x40352a
lea ecx, [esp + esi + 0xd5]
push 2
push ecx
call fcn.00403a70
lea edx, [esp + esi + 0x1e45]
push 2
push edx
mov ebp, eax
call fcn.00403a70
add esp, 0x10
cmp ebp, 1
mov dword [esp + 0x14], eax
jl 0x40352a
cmp ebp, 0x63
jg 0x40352a
push 0x463870
push 0x4af128
call fcn.00412450
add esp, 8
mov ecx, 0xc
lea esi, [esp + 0x9c]
lea edi, [esp + 0x3c]
push ebp
lea eax, [esp + 0x6d]
push str._02d
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.004157b1
lea ecx, [esp + 0x48]
inc ebx
push ecx
push 0x4af128
mov word [esp + 0x78], bx
call fcn.00411080
add esp, 0x14
test eax, eax
jl 0x403553
mov edx, dword [esp + 0x14]
mov ecx, 0xc
lea esi, [esp + 0x9c]
lea edi, [esp + 0x3c]
push edx
lea eax, [esp + 0x6d]
push str._02d
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.004157b1
mov edi, str.f300b
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x48]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov word [esp + 0x70], bx
mov eax, ecx
mov esi, edi
mov edi, edx
push 1
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x20]
lea edx, [esp + ecx + 0x1e48]
push edx
call fcn.00403a70
lea eax, [esp + 0x50]
push eax
push 0x4af128
call fcn.00410f80
add esp, 0x1c
test eax, eax
jl 0x403553
push 0x13f0
call fcn.0041589a
mov esi, eax
add esp, 4
test esi, esi
je 0x40351d
mov ecx, 0x4fc
xor eax, eax
mov edi, esi
mov edx, dword [esp + 0x2a]
rep stosd dword es:[edi], eax
mov ecx, 0xc
lea edi, [esp + 0x6c]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x2e]
mov cl, byte [esp + 0x28]
mov dword [esp + 0x81], eax
mov byte [esp + 0x7b], cl
mov ecx, dword [esp + 0x32]
mov dword [esp + 0x7d], edx
mov edx, dword [esp + 0x37]
push 1
lea eax, [esp + 0x9a]
push str._02d
push eax
mov dword [esp + 0x91], ecx
mov dword [esp + 0x96], edx
call fcn.004157b1
add esp, 0xc
lea ecx, [esp + 0x99]
push ebp
push str._02d
push ecx
call fcn.004157b1
add esp, 0xc
cmp ebp, 1
mov word [esp + 0x94], bx
jl 0x4034c1
push ebp
lea edx, [esp + 0x9d]
push str._02d
push edx
call fcn.004157b1
lea eax, [esp + 0x78]
push 0x4b0cd4
push eax
call fcn.004116f0
add esp, 0x14
test eax, eax
je 0x4034c1
cmp ebp, 1
je 0x40351d
dec ebp
cmp ebp, 1
jge 0x40348d
push ebp
lea ecx, [esp + 0x9d]
push str._02d
push ecx
call fcn.004157b1
lea edx, [esp + 0x78]
push edx
push esi
call fcn.004113c0
add esp, 0x14
test eax, eax
jl 0x40351d
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x99]
push eax
push str._02d
push ecx
call fcn.004157b1
add esp, 0xc
lea edx, [esp + 0x6c]
push str.f300b
push edx
call fcn.004157b1
lea eax, [esp + 0x74]
push eax
push esi
call fcn.00411320
add esp, 0x10
push esi
call fcn.00415831
mov esi, dword [esp + 0x14]
add esp, 4
mov ebx, dword [esp + 0x18]
add esi, 0x4c
inc ebx
cmp esi, 0x1d64
mov dword [esp + 0x18], ebx
mov dword [esp + 0x10], esi
jl 0x4032cc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x3b8c
ret
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x3b8c
ret