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

Disassembly:
sub esp, 0x24
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x40]
mov eax, dword [edi]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x38]
mov esi, ecx
mov ecx, dword [edx]
mov dword [edx], 0
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x1c], eax
mov dword [edi], 0
lea ecx, [ecx]
mov edi, dword [esi + 0x28]
cmp dword [esi + 0x24], edi
jne 0x100a240f
mov dword [esi + 0x24], 0
mov edx, dword [esi + 0x24]
mov ebx, edi
sub ebx, edx
mov dword [esp + 0x30], edx
cmp ecx, ebx
jbe 0x100a242c
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], 0
jmp 0x100a243c
add edx, ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ecx
mov edi, edx
mov edx, dword [esp + 0x3c]
xor ecx, ecx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x48]
mov dword [edx], ecx
cmp dword [esi + 0x78], 8
mov dword [esp + 0x14], ecx
jne 0x100a24dc
mov eax, dword [esp + 0x48]
mov dword [eax], 1
xor ebp, ebp
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x40]
add dword [ecx], eax
add dword [esp + 0x3c], eax
sub dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
mov edi, dword [esi + 0x24]
mov ecx, dword [esi + 0x14]
mov ebx, dword [esp + 0x28]
sub edi, eax
push edi
add ecx, eax
push ecx
push ebx
call sub.MSVCRT.dll_memcpy
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x44]
add dword [eax], edi
add ebx, edi
sub ecx, edi
add esp, 0xc
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ecx
test ebp, ebp
jne 0x100a2752
test edi, edi
je 0x100a275e
test ecx, ecx
je 0x100a275e
mov eax, dword [esp + 0x1c]
jmp 0x100a2400
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov edx, dword [esi + 0x78]
mov ebp, dword [esi + 0x24]
cmp edx, 9
je 0x100a253b
cmp ebp, edi
jne 0x100a24f6
cmp dword [esp + 0x24], 0
je 0x100a271e
cmp edx, 6
je 0x100a2545
cmp edx, 7
je 0x100a2545
cmp ecx, eax
je 0x100a272d
mov eax, dword [esp + 0x10]
mov al, byte [eax]
inc ecx
mov dword [esp + 0x14], ecx
mov ecx, esi
call fcn.100a1fd0
inc dword [esp + 0x10]
mov dword [esi + 0x78], eax
cmp ebp, dword [esp + 0x20]
jne 0x100a270f
cmp eax, 8
je 0x100a270f
mov dword [esi + 0x78], 9
mov ebp, 1
jmp 0x100a2466
sub eax, ecx
mov ecx, dword [esi + 0x74]
sub edi, ebp
xor ebx, ebx
mov dword [esp + 0x18], eax
cmp ecx, edi
ja 0x100a255d
mov edi, ecx
mov ebx, 1
mov cl, byte [esi + 0x7c]
test cl, cl
js 0x100a261f
mov ebx, dword [esp + 0x14]
cmp ebx, dword [esp + 0x1c]
je 0x100a273c
cmp edx, 6
jne 0x100a25ba
xor edx, edx
cmp cl, 1
sete dl
test edx, edx
je 0x100a259a
mov eax, 1
mov dword [esi + 0x84], eax
mov dword [esi + 0x88], eax
jmp 0x100a25a3
cmp dword [esi + 0x80], 0
jne 0x100a2534
push 0
mov ecx, esi
mov dword [esi + 0x80], 0
call fcn.100a4af0
mov eax, dword [esp + 0x18]
cmp eax, edi
jbe 0x100a25c4
mov eax, edi
mov dword [esp + 0x18], eax
test eax, eax
je 0x100a2534
mov edx, dword [esi + 0x14]
mov ecx, dword [esp + 0x10]
add edx, dword [esi + 0x24]
push eax
push ecx
push edx
mov edi, eax
call sub.MSVCRT.dll_memcpy
add dword [esi + 0x24], edi
add esp, 0xc
cmp dword [esi + 0x30], 0
jne 0x100a25fb
mov eax, dword [esi + 0xc]
mov ecx, eax
sub ecx, dword [esi + 0x2c]
cmp ecx, edi
ja 0x100a25fb
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x18]
add dword [esp + 0x10], eax
add dword [esp + 0x14], eax
sub dword [esi + 0x74], eax
add dword [esi + 0x2c], edi
mov eax, dword [esi + 0x74]
neg eax
sbb eax, eax
and eax, 7
mov dword [esi + 0x78], eax
jmp 0x100a270f
cmp edx, 6
jne 0x100a267f
movzx eax, cl
shr eax, 5
and eax, 3
xor edx, edx
cmp eax, 3
sete dl
xor ecx, ecx
test eax, eax
setne cl
mov eax, ecx
test edx, edx
jne 0x100a264e
cmp dword [esi + 0x80], edx
jne 0x100a2534
test eax, eax
jne 0x100a265e
cmp dword [esi + 0x84], eax
jne 0x100a2534
push eax
mov ecx, esi
call fcn.100a4af0
xor eax, eax
mov dword [esi + 0x80], eax
mov dword [esi + 0x84], eax
mov eax, dword [esp + 0x18]
mov dword [esi + 0x78], 7
mov ecx, dword [esi + 0x70]
cmp eax, ecx
jbe 0x100a268a
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x10]
push edx
push ebx
lea eax, [esp + 0x20]
push eax
push ecx
lea edx, [edi + ebp]
mov ecx, esi
call fcn.100a4b40
mov edx, dword [esp + 0x18]
mov ecx, dword [esi + 0x24]
sub dword [esi + 0x70], edx
add dword [esp + 0x10], edx
add dword [esp + 0x14], edx
mov ebx, dword [esi + 0x70]
sub ecx, ebp
sub dword [esi + 0x74], ecx
mov edi, dword [esi + 0x74]
xor ebp, ebp
cmp eax, ebp
jne 0x100a274b
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
cmp eax, 3
je 0x100a2466
cmp edx, ebp
jne 0x100a26fe
cmp ecx, ebp
jne 0x100a26fe
cmp eax, 4
jne 0x100a2534
cmp edi, ebp
jne 0x100a2534
cmp ebx, ebp
jne 0x100a2534
mov dword [esi + 0x78], ebp
mov ecx, dword [esp + 0x48]
cmp dword [ecx], 4
jne 0x100a270f
mov edx, ecx
mov dword [edx], 2
cmp dword [esi + 0x78], 8
jne 0x100a24d0
jmp 0x100a245a
mov eax, dword [esp + 0x48]
mov dword [eax], 2
jmp 0x100a2464
mov ecx, dword [esp + 0x48]
mov dword [ecx], 3
jmp 0x100a2464
mov edx, dword [esp + 0x48]
mov dword [edx], 3
jmp 0x100a2464
mov ebp, eax
jmp 0x100a2466
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x24
ret 0x14
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x24
ret 0x14