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

Disassembly:
push ecx
mov eax, dword [esp + 0x18]
push ebx
push ebp
push esi
push edi
mov edi, ecx
xor ecx, ecx
xor ebp, ebp
cmp eax, ecx
mov dword [esp + 0x10], edx
je 0x1503a537
mov esi, dword [str.1.1.4]
mov al, byte [eax]
cmp al, byte [esi]
jne 0x1503a537
cmp dword [esp + 0x2c], 0x38
jne 0x1503a537
cmp edi, ecx
jne 0x1503a2a7
pop edi
pop esi
pop ebp
mov eax, 0xfffffffe
pop ebx
pop ecx
ret 0x18
cmp dword [edi + 0x20], ecx
mov dword [edi + 0x18], ecx
jne 0x1503a2b9
mov dword [edi + 0x20], 0x1503be40
mov dword [edi + 0x28], ecx
cmp dword [edi + 0x24], ecx
jne 0x1503a2c5
mov dword [edi + 0x24], 0x1503be60
cmp edx, 0xffffffff
jne 0x1503a2d6
mov dword [esp + 0x10], 6
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
cmp ebx, ecx
jge 0x1503a2e5
mov ebp, 1
neg ebx
mov eax, dword [esp + 0x20]
cmp eax, 1
jl 0x1503a29a
cmp eax, 9
jg 0x1503a29a
cmp dword [esp + 0x18], 8
jne 0x1503a29a
cmp ebx, 9
jl 0x1503a29a
cmp ebx, 0xf
jg 0x1503a29a
cmp edx, ecx
jl 0x1503a29a
cmp edx, 9
jg 0x1503a29a
mov eax, dword [esp + 0x24]
cmp eax, ecx
jl 0x1503a29a
cmp eax, 2
jg 0x1503a29a
mov ecx, dword [edi + 0x28]
push 0x16b8
mov edx, 1
call dword [edi + 0x20]
mov esi, eax
test esi, esi
jne 0x1503a33d
pop edi
pop esi
pop ebp
mov eax, 0xfffffffc
pop ebx
pop ecx
ret 0x18
mov dword [edi + 0x1c], esi
mov dword [esi + 0x18], ebp
mov ecx, ebx
mov ebp, 1
shl ebp, cl
mov dword [esi + 0x28], ebx
mov ebx, dword [esp + 0x20]
mov eax, 1
lea ecx, [ebp - 1]
mov dword [esi + 0x2c], ecx
lea ecx, [ebx + 7]
shl eax, cl
mov dword [esi + 0x48], ecx
add ecx, 2
mov dword [esi], edi
mov dword [esi + 0x44], eax
dec eax
mov dword [esi + 0x4c], eax
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
mov dword [esi + 0x50], edx
mov dword [esi + 0x24], ebp
mov ecx, dword [edi + 0x28]
push 2
mov edx, ebp
call dword [edi + 0x20]
mov edx, dword [esi + 0x24]
mov dword [esi + 0x30], eax
mov ecx, dword [edi + 0x28]
push 2
call dword [edi + 0x20]
mov edx, dword [esi + 0x44]
mov dword [esi + 0x38], eax
mov ecx, dword [edi + 0x28]
push 2
call dword [edi + 0x20]
lea ecx, [ebx + 6]
mov edx, 1
shl edx, cl
mov dword [esi + 0x3c], eax
push 4
mov dword [esi + 0x1694], edx
mov ecx, dword [edi + 0x28]
call dword [edi + 0x20]
mov ecx, dword [esi + 0x1694]
lea edx, [ecx*4]
mov dword [esi + 0xc], edx
mov edx, dword [esi + 0x30]
xor ebp, ebp
cmp edx, ebp
mov dword [esi + 8], eax
je 0x1503a51b
cmp dword [esi + 0x38], ebp
je 0x1503a51b
cmp dword [esi + 0x3c], ebp
je 0x1503a51b
cmp eax, ebp
je 0x1503a51b
mov edx, ecx
shr edx, 1
lea edx, [eax + edx*2]
lea eax, [eax + ecx*2]
add ecx, eax
mov dword [esi + 0x169c], edx
mov edx, dword [esp + 0x24]
mov dword [esi + 0x1690], ecx
mov ecx, dword [esp + 0x10]
mov dword [esi + 0x7c], ecx
mov dword [esi + 0x80], edx
mov byte [esi + 0x1d], 8
mov esi, dword [edi + 0x1c]
cmp esi, ebp
je 0x1503a50c
cmp dword [edi + 0x20], ebp
je 0x1503a50c
cmp dword [edi + 0x24], ebp
je 0x1503a50c
mov dword [edi + 0x14], ebp
mov dword [edi + 8], ebp
mov dword [edi + 0x18], ebp
mov ebx, 2
mov dword [edi + 0x2c], ebx
mov eax, dword [esi + 8]
mov dword [esi + 0x10], eax
cmp dword [esi + 0x18], ebp
mov dword [esi + 0x14], ebp
jge 0x1503a468
mov dword [esi + 0x18], ebp
mov ecx, dword [esi + 0x18]
neg ecx
sbb ecx, ecx
and ecx, 0x47
add ecx, 0x2a
mov dword [esi + 4], ecx
mov dword [edi + 0x30], 1
mov ecx, esi
mov dword [esi + 0x20], ebp
call fcn.1503be70
mov edx, dword [esi + 0x24]
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0x3c]
shl edx, 1
mov dword [esi + 0x34], edx
mov word [ecx + eax*2 - 2], bp
mov edx, dword [esi + 0x44]
mov edi, dword [esi + 0x3c]
lea ecx, [edx + edx - 2]
mov edx, ecx
shr ecx, 2
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [esi + 0x7c]
lea eax, [eax + eax*2]
shl eax, 2
movzx ecx, word [eax + 0x150447ba]
mov dword [esi + 0x78], ecx
movzx edx, word [eax + 0x150447b8]
mov dword [esi + 0x84], edx
movzx ecx, word [eax + 0x150447bc]
mov dword [esi + 0x88], ecx
movzx edx, word [eax + 0x150447be]
pop edi
mov dword [esi + 0x64], ebp
mov dword [esi + 0x54], ebp
mov dword [esi + 0x6c], ebp
mov dword [esi + 0x70], ebx
mov dword [esi + 0x58], ebx
mov dword [esi + 0x60], ebp
mov dword [esi + 0x40], ebp
mov dword [esi + 0x74], edx
pop esi
mov eax, ebp
pop ebp
pop ebx
pop ecx
ret 0x18
pop edi
mov ebp, 0xfffffffe
pop esi
mov eax, ebp
pop ebp
pop ebx
pop ecx
ret 0x18
mov eax, dword [str.insufficient_memory]
mov ecx, edi
mov dword [edi + 0x18], eax
call fcn.1503a990
pop edi
pop esi
pop ebp
mov eax, 0xfffffffc
pop ebx
pop ecx
ret 0x18
pop edi
pop esi
pop ebp
mov eax, 0xfffffffa
pop ebx
pop ecx
ret 0x18