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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov eax, dword [esi]
mov edx, dword [esi + 0x74]
mov edi, dword [eax + 0xc]
add dword [esi + 0x68], 1
adc dword [esi + 0x6c], 0
inc dword [esi + 0x70]
mov ecx, dword [esi + 0x70]
cmp ecx, edx
jge 0x100d93a1
mov eax, ecx
shl eax, 4
add eax, dword [esi + 0x78]
cmp dword [eax + 4], 0
jg 0x100d943a
jl 0x100d9396
cmp dword [eax], 0
ja 0x100d943a
inc ecx
add eax, 0x10
mov dword [esi + 0x70], ecx
cmp ecx, edx
jl 0x100d9381
lea edx, [esi + 8]
mov ecx, edi
call fcn.100dfde0
cmp eax, 0x64
jne 0x100d9455
mov eax, dword [esi + 0x44]
xor edi, edi
mov ecx, dword [esi + 0x58]
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x40]
mov dword [esp + 0x10], 0
mov dword [esp + 0x1c], eax
test ecx, ecx
je 0x100d9463
mov eax, dword [esi + 0x5c]
mov ebx, eax
cmp eax, dword [esi + 0x3c]
mov edx, dword [esi + 0x38]
cmovge ebx, dword [esi + 0x3c]
sub ebx, 4
jb 0x100d9401
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100d9406
add ecx, 4
add edx, 4
sub ebx, 4
jae 0x100d93f0
cmp ebx, 0xfffffffc
je 0x100d9443
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100d9433
cmp ebx, 0xfffffffd
je 0x100d9443
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100d9433
cmp ebx, 0xfffffffe
je 0x100d9443
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100d9433
cmp ebx, 0xffffffff
je 0x100d9443
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x100d9443
sbb eax, eax
or eax, 1
jmp 0x100d9445
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
test eax, eax
js 0x100d9453
jne 0x100d9463
mov eax, dword [esi + 0x3c]
cmp eax, dword [esi + 0x5c]
jle 0x100d9463
xor eax, eax
mov dword [esi + 0x64], 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x74]
cmp eax, 2
jge 0x100d94bd
mov ebx, dword [esi + 0x78]
call fcn.100cb360
test eax, eax
jne 0x100d964b
push eax
push 0x20
mov ecx, ebx
call fcn.10025cb0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x100d964b
mov edx, dword [esi + 0x74]
mov ecx, 0x20
shl edx, 4
sub ecx, edx
push ecx
push 0
lea eax, [edx + ebx]
push eax
call fcn.10117800
add esp, 0xc
mov dword [esi + 0x78], ebx
mov dword [esi + 0x74], 2
mov eax, 2
shl eax, 4
push eax
push 0
push dword [esi + 0x78]
call fcn.10117800
xor eax, eax
add esp, 0xc
xor ebx, ebx
mov dword [esp + 0x14], eax
cmp dword [esp + 0x18], eax
jle 0x100d963d
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x20]
add ecx, dword [esp + 0x10]
xorps xmm0, xmm0
movlpd qword [esp + 0x20], xmm0
call fcn.100d04f0
mov ecx, dword [esp + 0x10]
add ecx, eax
mov eax, edi
mov dword [esp + 0x10], ecx
sub eax, 0
je 0x100d961e
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
sub eax, 1
je 0x100d95c0
sub eax, 1
je 0x100d95db
mov ebx, ecx
cmp ebx, 1
jge 0x100d9542
mov ecx, dword [esp + 0x10]
mov eax, 0x10b
mov dword [esp + 0x14], eax
jmp 0x100d9633
lea edi, [ebx + 2]
cmp edi, dword [esi + 0x74]
jle 0x100d95a3
mov eax, dword [esi + 0x78]
mov dword [esp + 0x20], eax
call fcn.100cb360
test eax, eax
jne 0x100d964b
mov ecx, dword [esp + 0x20]
mov eax, edi
shl eax, 4
push 0
push eax
call fcn.10025cb0
add esp, 8
mov dword [esp + 0x20], eax
test eax, eax
je 0x100d964b
mov edx, dword [esi + 0x74]
mov ecx, edi
sub ecx, edx
shl edx, 4
shl ecx, 4
add edx, eax
push ecx
push 0
push edx
call fcn.10117800
mov eax, dword [esp + 0x2c]
add esp, 0xc
mov dword [esi + 0x78], eax
mov dword [esi + 0x74], edi
mov eax, dword [esi + 0x78]
lea ecx, [ebx + 1]
shl ecx, 4
mov edi, 2
add dword [ecx + eax], 1
adc dword [ecx + eax + 4], 0
mov ecx, dword [esp + 0x10]
jmp 0x100d962f
test edx, edx
jl 0x100d95d6
jg 0x100d95cb
cmp ecx, 1
jbe 0x100d95d6
mov eax, dword [esi + 0x78]
add dword [eax + 0x10], 1
adc dword [eax + 0x14], 0
mov edi, 2
mov eax, ecx
or eax, edx
jne 0x100d95e9
mov ecx, dword [esp + 0x10]
xor edi, edi
jmp 0x100d962f
cmp ecx, 1
jne 0x100d95fb
test edx, edx
jne 0x100d95fb
lea edi, [ecx + 2]
mov ecx, dword [esp + 0x10]
jmp 0x100d962f
mov eax, dword [esi + 0x78]
mov ecx, ebx
shl ecx, 4
add dword [ecx + eax + 0x18], 1
adc dword [ecx + eax + 0x1c], 0
mov eax, dword [esi + 0x78]
mov ecx, dword [esp + 0x10]
add dword [eax + 8], 1
adc dword [eax + 0xc], 0
jmp 0x100d962f
mov eax, dword [esi + 0x78]
mov edi, 1
add dword [eax], 1
adc dword [eax + 4], 0
xor ebx, ebx
mov eax, dword [esp + 0x14]
cmp ecx, dword [esp + 0x18]
jl 0x100d94e0
mov dword [esi + 0x70], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 7
pop ebx
mov esp, ebp
pop ebp
ret