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

Disassembly:
sub esp, 0x11c
push ebx
mov ebx, dword [esp + 0x12c]
push ebp
mov ebp, dword [esp + 0x148]
xor eax, eax
push esi
push edi
mov esi, 0x2a
mov dword [esp + 0x28], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x13c]
lea eax, [esp + 0x60]
push 4
push eax
push ecx
call dword [esp + 0x13c]
add esp, 0xc
cmp eax, 4
jne 0x100c4035
mov ecx, dword [esp + 0x60]
mov eax, ecx
mov edx, ecx
and eax, 0xff0000
shr edx, 0x10
or eax, edx
mov edx, ecx
shl edx, 0x10
and ecx, 0xff00
or edx, ecx
shr eax, 8
shl edx, 8
or eax, edx
mov ecx, eax
shr ecx, 0x1f
and cl, 1
mov byte [esp + 0x12], cl
mov ecx, eax
shr ecx, 0x18
and cl, 0x7f
and eax, 0xffffff
mov byte [esp + 0x40], cl
mov edi, eax
mov eax, dword [esp + 0x28]
add esi, 4
mov ecx, 0
mov dword [esp + 0x20], edi
adc eax, ecx
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x40]
and eax, 0xff
mov dword [esp + 0x68], ecx
mov dword [esp + 0x64], eax
dec eax
cmp eax, 0x7e
mov dword [esp + 0x6c], ecx
ja case.0x100c3468.8
xor edx, edx
mov dl, byte [eax + 0x100c40a4]
jmp dword [edx*4 + 0x100c4084]
cmp edi, 4
jb 0x100c4035
cmp ebx, ecx
je 0x100c3ed8
push ebp
push edi
call fcn.100c3320
mov esi, eax
add esp, 8
test esi, esi
je 0x100c4035
mov eax, dword [esp + 0x13c]
push edi
push esi
push eax
call dword [esp + 0x13c]
add esp, 0xc
cmp eax, edi
jne 0x100c402b
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], edi
mov eax, dword [esi]
mov ecx, eax
mov edx, eax
and ecx, 0xff0000
shr edx, 0x10
or ecx, edx
mov edx, eax
shl edx, 0x10
and eax, 0xff00
or edx, eax
lea eax, [esi + 4]
shr ecx, 8
shl edx, 8
or ecx, edx
mov dword [esp + 0x78], eax
mov dword [esp + 0x74], ecx
lea ecx, [edi - 4]
mov dword [esp + 0x7c], ecx
mov eax, dword [esp + 0x140]
lea edx, [esp + 0x64]
push edx
push eax
call ebx
push ebp
push esi
call fcn.100c3360
add esp, 0x10
jmp 0x100c3efa
mov edx, dword [esp + 0x28]
cmp ebx, ecx
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], edx
mov dword [esp + 0x34], edi
je 0x100c3ed8
push ebp
push edi
call fcn.100c3320
mov esi, eax
add esp, 8
test esi, esi
mov dword [esp + 0x1c], esi
je 0x100c4035
mov eax, dword [esp + 0x13c]
push edi
push esi
push eax
call dword [esp + 0x13c]
add esp, 0xc
cmp eax, edi
jne 0x100c402b
mov eax, 0x38e38e39
mov dword [esp + 0x68], esi
mul edi
shr edx, 2
mov dword [esp + 0x6c], edi
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], esi
mov dword [esp + 0x14], 0
je 0x100c3754
add esi, 0x10
mov edi, dword [esi - 0xc]
mov eax, dword [esi - 0x10]
mov ebp, edi
mov ecx, 0x10
mov edx, edi
mov dword [esp + 0x54], eax
xor ebx, ebx
and ebp, 0xff0000
call fcn.100e0ca0
or ebx, eax
or ebp, edx
mov ecx, 0x10
mov eax, ebx
mov edx, ebp
call fcn.100e0ca0
mov ebx, edi
xor ecx, ecx
and ebx, 0xff00
or eax, ecx
or edx, ebx
mov ecx, 0x10
call fcn.100e0ca0
mov ebx, edi
xor ecx, ecx
and ebx, 0xff
or eax, ecx
or edx, ebx
mov ecx, 8
call fcn.100e0ca0
mov ebx, dword [esp + 0x54]
mov ebp, eax
mov dword [esp + 0x18], ebp
mov ebp, edx
mov ecx, 0x10
mov eax, ebx
mov edx, edi
call fcn.100e0d30
xor ecx, ecx
and ebx, 0xff00
or edx, ecx
or eax, ebx
mov ecx, 0x10
call fcn.100e0d30
mov ecx, dword [esp + 0x54]
xor edi, edi
and ecx, 0xff0000
or edx, edi
or eax, ecx
mov ecx, 0x10
call fcn.100e0d30
mov ecx, dword [esp + 0x54]
or edx, edi
and ecx, 0xff000000
or eax, ecx
mov ecx, 8
call fcn.100e0d30
mov ecx, dword [esp + 0x18]
mov edi, dword [esi - 4]
or ecx, eax
mov eax, dword [esi - 8]
or ebp, edx
mov dword [esi - 0x10], ecx
mov dword [esi - 0xc], ebp
mov ebp, edi
mov ecx, 0x10
mov edx, edi
mov dword [esp + 0x4c], eax
xor ebx, ebx
and ebp, 0xff0000
call fcn.100e0ca0
or ebx, eax
or ebp, edx
mov ecx, 0x10
mov eax, ebx
mov edx, ebp
call fcn.100e0ca0
mov ebx, edi
xor ecx, ecx
and ebx, 0xff00
or eax, ecx
or edx, ebx
mov ecx, 0x10
call fcn.100e0ca0
mov ebx, edi
xor ecx, ecx
and ebx, 0xff
or eax, ecx
or edx, ebx
mov ecx, 8
call fcn.100e0ca0
mov ebx, dword [esp + 0x4c]
mov ebp, eax
mov dword [esp + 0x18], ebp
mov ebp, edx
mov ecx, 0x10
mov eax, ebx
mov edx, edi
call fcn.100e0d30
xor ecx, ecx
and ebx, 0xff00
or edx, ecx
or eax, ebx
mov ecx, 0x10
call fcn.100e0d30
mov ecx, dword [esp + 0x4c]
xor edi, edi
and ecx, 0xff0000
or edx, edi
or eax, ecx
mov ecx, 0x10
call fcn.100e0d30
mov ecx, dword [esp + 0x4c]
or edx, edi
and ecx, 0xff000000
or eax, ecx
mov ecx, 8
call fcn.100e0d30
mov ecx, dword [esp + 0x18]
or ebp, edx
or ecx, eax
mov ax, word [esi]
xor edx, edx
mov dword [esi - 8], ecx
mov dl, ah
mov dword [esi - 4], ebp
mov dh, al
mov eax, dword [esp + 0x14]
mov word [esi], dx
mov ecx, dword [esp + 0x74]
inc eax
add esi, 0x12
cmp eax, ecx
mov dword [esp + 0x14], eax
jb 0x100c3584
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x140]
lea eax, [esp + 0x64]
push eax
push ecx
call dword [esp + 0x140]
mov edx, dword [esp + 0x158]
push edx
push esi
call fcn.100c3360
mov ebx, dword [esp + 0x148]
mov ebp, dword [esp + 0x160]
add esp, 0x10
jmp 0x100c3efa
cmp edi, 8
jb 0x100c4035
cmp ebx, ecx
je 0x100c3ed8
push ebp
push edi
call fcn.100c3320
mov esi, eax
add esp, 8
test esi, esi
je 0x100c4035
mov eax, dword [esp + 0x13c]
push edi
push esi
push eax
call dword [esp + 0x13c]
add esp, 0xc
cmp eax, edi
jne 0x100c402b
lea ebx, [esi + edi]
lea ecx, [esi + 4]
mov eax, ebx
mov dword [esp + 0x68], esi
sub eax, ecx
mov dword [esp + 0x6c], edi
mov ebp, dword [esi]
sub eax, 4
cdq
mov dword [esp + 0x10c], eax
xor eax, eax
cmp edx, eax
mov dword [esp + 0x74], ebp
jl 0x100c3f1c
jg 0x100c3809
cmp dword [esp + 0x10c], ebp
jb 0x100c3f1c
mov dword [esp + 0x78], ecx
mov eax, dword [ecx + ebp]
add ecx, ebp
mov edx, ebx
add ecx, 4
mov dword [esp + 0x7c], eax
sub edx, ecx
shr edx, 2
cmp edx, eax
jb 0x100c3f3a
test eax, eax
mov dword [esp + 0x80], ecx
mov dword [esp + 0x14], 0
jbe 0x100c3885
mov eax, ebx
sub eax, ecx
cmp eax, 4
jl 0x100c3f58
mov ebp, dword [ecx]
add ecx, 4
mov eax, ebx
sub eax, ecx
cdq
mov dword [esp + 0x124], eax
xor eax, eax
cmp edx, eax
jl 0x100c3f1c
jg 0x100c3872
cmp dword [esp + 0x124], ebp
jb 0x100c3f1c
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x7c]
add ecx, ebp
inc eax
cmp eax, edx
mov dword [esp + 0x14], eax
jb 0x100c383b
mov edx, dword [esp + 0x140]
lea ecx, [esp + 0x64]
push ecx
push edx
call dword [esp + 0x140]
mov eax, dword [esp + 0x158]
push eax
jmp 0x100c3770
cmp edi, 0x18c
jb 0x100c4035
cmp ebx, ecx
je 0x100c3ed8
push ebp
push edi
call fcn.100c3320
mov ebx, eax
add esp, 8
test ebx, ebx
mov dword [esp + 0x14], ebx
je 0x100c4035
mov ecx, dword [esp + 0x13c]
push edi
push ebx
push ecx
call dword [esp + 0x13c]
add esp, 0xc
cmp eax, edi
jne 0x100c3fba
mov dword [esp + 0x6c], edi
lea edx, [ebx + edi]
mov ecx, 0x20
mov esi, ebx
lea edi, [esp + 0x74]
mov dword [esp + 0x68], ebx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebx + 0x84]
mov eax, dword [ebx + 0x80]
lea esi, [ebx + 0x80]
mov dword [esp + 0x30], edx
mov ebp, edi
mov ecx, 0x10
mov edx, edi
mov dword [esp + 0x44], eax
xor ebx, ebx
and ebp, 0xff0000
call fcn.100e0ca0
or ebx, eax
or ebp, edx
mov ecx, 0x10
mov eax, ebx
mov edx, ebp
call fcn.100e0ca0
mov ebx, edi
xor ecx, ecx
and ebx, 0xff00
or eax, ecx
or edx, ebx
mov ecx, 0x10
call fcn.100e0ca0
mov ebx, edi
xor ecx, ecx
and ebx, 0xff
or eax, ecx
or edx, ebx
mov ecx, 8
call fcn.100e0ca0
mov ebx, dword [esp + 0x44]
mov ebp, eax
mov dword [esp + 0x18], ebp
mov ebp, edx
mov ecx, 0x10
mov eax, ebx
mov edx, edi
call fcn.100e0d30
xor ecx, ecx
and ebx, 0xff00
or edx, ecx
or eax, ebx
mov ecx, 0x10
call fcn.100e0d30
mov ecx, dword [esp + 0x44]
xor edi, edi
and ecx, 0xff0000
or edx, edi
or eax, ecx
mov ecx, 0x10
call fcn.100e0d30
mov ecx, dword [esp + 0x44]
or edx, edi
and ecx, 0xff000000
or eax, ecx
mov ecx, 8
call fcn.100e0d30
mov ecx, dword [esp + 0x18]
or ebp, edx
or ecx, eax
add esi, 8
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], ebp
mov dl, byte [esi]
add esi, 0x103
shr edx, 7
and edx, 1
inc esi
mov dword [esp + 0xfc], edx
mov al, byte [esi - 1]
mov byte [esp + 0x100], al
mov dword [esp + 0x104], esi
mov byte [esp + 0x13], 0
test al, al
jbe 0x100c3bbe
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x30]
sub eax, esi
cmp eax, 0x24
jl 0x100c3f76
mov cl, byte [esi + 0x23]
mov eax, dword [esp + 0x30]
add esi, 0x23
mov byte [esp + 0x2c], cl
mov ecx, dword [esp + 0x2c]
inc esi
sub eax, esi
and ecx, 0xff
cdq
lea ebx, [ecx + ecx*2]
mov ebp, eax
xor eax, eax
shl ebx, 2
cmp edx, eax
jl 0x100c3f98
jg 0x100c3a72
cmp ebp, ebx
jb 0x100c3f98
mov al, byte [esp + 0x2c]
test al, al
jbe 0x100c3b6e
mov dword [esp + 0x1c], ecx
jmp 0x100c3a88
mov esi, dword [esp + 0x18]
mov eax, esi
add esi, 0xc
mov dword [esp + 0x18], esi
mov dword [esp + 0x5c], eax
mov edi, dword [eax + 4]
mov esi, dword [eax]
mov ebp, edi
mov ecx, 0x10
mov eax, esi
mov edx, edi
xor ebx, ebx
and ebp, 0xff0000
call fcn.100e0ca0
or ebx, eax
or ebp, edx
mov ecx, 0x10
mov eax, ebx
mov edx, ebp
call fcn.100e0ca0
mov ebx, edi
xor ecx, ecx
and ebx, 0xff00
or eax, ecx
or edx, ebx
mov ecx, 0x10
call fcn.100e0ca0
mov ebx, edi
xor ecx, ecx
and ebx, 0xff
or eax, ecx
or edx, ebx
mov ecx, 8
call fcn.100e0ca0
mov ebx, eax
mov ebp, edx
mov ecx, 0x10
mov eax, esi
mov edx, edi
call fcn.100e0d30
mov ecx, esi
xor edi, edi
and ecx, 0xff00
or edx, edi
or eax, ecx
mov ecx, 0x10
call fcn.100e0d30
mov ecx, esi
or edx, edi
and ecx, 0xff0000
or eax, ecx
mov ecx, 0x10
call fcn.100e0d30
xor ecx, ecx
and esi, 0xff000000
or edx, ecx
or eax, esi
mov ecx, 8
call fcn.100e0d30
or ebx, eax
mov eax, dword [esp + 0x5c]
or ebp, edx
mov dword [eax], ebx
mov dword [eax + 4], ebp
mov eax, dword [esp + 0x1c]
dec eax
mov dword [esp + 0x1c], eax
jne 0x100c3a84
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov al, byte [esp + 0x13]
mov cl, byte [esp + 0x100]
inc al
cmp al, cl
mov byte [esp + 0x13], al
jb 0x100c3a2b
mov ebx, dword [esp + 0x138]
mov eax, dword [esp + 0x140]
lea edx, [esp + 0x64]
push edx
push eax
call ebx
mov ecx, dword [esp + 0x158]
mov edx, dword [esp + 0x1c]
push ecx
push edx
call fcn.100c3360
mov ebp, dword [esp + 0x160]
add esp, 0x10
jmp 0x100c3efa
mov ebx, dword [esp + 0x138]
mov edi, dword [esp + 0x20]
jmp 0x100c3b8e
cmp edi, 0x20
jb 0x100c4035
cmp ebx, ecx
je 0x100c3ed8
push ebp
push edi
call fcn.100c3320
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x100c4035
mov eax, dword [esp + 0x13c]
push edi
push ebx
push eax
call dword [esp + 0x13c]
add esp, 0xc
cmp eax, edi
jne 0x100c3fba
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], edi
mov eax, dword [ebx]
lea ebp, [ebx + edi]
mov ecx, eax
mov edx, eax
and ecx, 0xff0000
shr edx, 0x10
or ecx, edx
mov edx, eax
shl edx, 0x10
and eax, 0xff00
or edx, eax
shr ecx, 8
shl edx, 8
or ecx, edx
mov dword [esp + 0x74], ecx
mov eax, dword [ebx + 4]
lea ecx, [ebx + 4]
mov esi, eax
mov edx, eax
and esi, 0xff0000
shr edx, 0x10
or esi, edx
mov edx, eax
shl edx, 0x10
and eax, 0xff00
add ecx, 4
or edx, eax
mov eax, ebp
sub eax, ecx
shr esi, 8
shl edx, 8
sub eax, 0x18
or esi, edx
cdq
mov dword [esp + 0x11c], eax
xor eax, eax
cmp edx, eax
mov dword [esp + 0x78], esi
jl 0x100c3fd1
jg 0x100c3c98
cmp dword [esp + 0x11c], esi
jb 0x100c3fd1
mov dword [esp + 0x7c], ecx
mov eax, dword [ecx + esi]
add ecx, esi
mov esi, eax
mov edx, eax
and esi, 0xff0000
shr edx, 0x10
or esi, edx
mov edx, eax
shl edx, 0x10
and eax, 0xff00
add ecx, 4
or edx, eax
mov eax, ebp
sub eax, ecx
shr esi, 8
shl edx, 8
sub eax, 0x14
or esi, edx
cdq
mov dword [esp + 0x114], eax
xor eax, eax
cmp edx, eax
mov dword [esp + 0x80], esi
jl 0x100c3fef
jg 0x100c3cf6
cmp dword [esp + 0x114], esi
jb 0x100c3fef
mov dword [esp + 0x84], ecx
mov eax, dword [ecx + esi]
add ecx, esi
mov edx, eax
mov esi, eax
and edx, 0xff0000
shr esi, 0x10
or edx, esi
mov esi, eax
shl esi, 0x10
and eax, 0xff00
add ecx, 4
or esi, eax
add ecx, 4
shr edx, 8
shl esi, 8
or edx, esi
add ecx, 4
mov dword [esp + 0x88], edx
mov eax, dword [ecx - 8]
mov edx, eax
mov esi, eax
and edx, 0xff0000
add ecx, 4
shr esi, 0x10
or edx, esi
mov esi, eax
shl esi, 0x10
and eax, 0xff00
add ecx, 4
or esi, eax
shr edx, 8
shl esi, 8
or edx, esi
mov dword [esp + 0x8c], edx
mov eax, dword [ecx - 0xc]
mov edx, eax
mov esi, eax
and edx, 0xff0000
shr esi, 0x10
or edx, esi
mov esi, eax
shl esi, 0x10
and eax, 0xff00
or esi, eax
shr edx, 8
shl esi, 8
or edx, esi
mov dword [esp + 0x90], edx
mov eax, dword [ecx - 8]
mov edx, eax
mov esi, eax
and edx, 0xff0000
shr esi, 0x10
or edx, esi
mov esi, eax
shl esi, 0x10
and eax, 0xff00
or esi, eax
shr edx, 8
shl esi, 8
or edx, esi
mov dword [esp + 0x94], edx
mov eax, dword [ecx - 4]
mov esi, eax
mov edx, eax
and esi, 0xff0000
mov dword [esp + 0x9c], ecx
shr edx, 0x10
or esi, edx
mov edx, eax
shl edx, 0x10
and eax, 0xff00
or edx, eax
mov eax, ebp
shr esi, 8
shl edx, 8
or esi, edx
sub eax, ecx
mov dword [esp + 0x98], esi
cdq
xor ecx, ecx
cmp edx, ecx
jl 0x100c400d
jg 0x100c3e0f
cmp eax, esi
jb 0x100c400d
mov ecx, dword [esp + 0x140]
lea eax, [esp + 0x64]
push eax
push ecx
call dword [esp + 0x140]
mov edx, dword [esp + 0x158]
push edx
push ebx
jmp 0x100c3771
cmp ebx, ecx
je 0x100c3ed8
mov eax, dword [esp + 0x13c]
push 1
push edi
push eax
mov dword [esp + 0x80], 0
call dword [esp + 0x140]
add esp, 0xc
test eax, eax
je 0x100c3ef5
mov edx, dword [esp + 0x140]
lea ecx, [esp + 0x64]
push ecx
push edx
call ebx
add esp, 8
jmp 0x100c3efa
cmp ebx, ecx
je 0x100c3ed8
mov eax, dword [esp + 0x13c]
push 1
push edi
push eax
call dword [esp + 0x140]
add esp, 0xc
test eax, eax
jne 0x100c3efa
jmp 0x100c3ef5
cmp ebx, ecx
je 0x100c3ed8
push ebp
push edi
call fcn.100c3320
mov esi, eax
add esp, 8
test esi, esi
je 0x100c4035
mov ecx, dword [esp + 0x13c]
push edi
push esi
push ecx
call dword [esp + 0x13c]
add esp, 0xc
cmp eax, edi
jne 0x100c402b
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], edi
jmp 0x100c34ef
cmp edi, ecx
jbe 0x100c3efa
mov ecx, dword [esp + 0x13c]
push 1
push edi
push ecx
call dword [esp + 0x140]
add esp, 0xc
test eax, eax
jne 0x100c3efa
mov byte [esp + 0x12], 1
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov al, byte [esp + 0x12]
add esi, edi
adc ecx, 0
test al, al
mov dword [esp + 0x28], ecx
jne 0x100c4042
jmp 0x100c33bf
mov edx, dword [esp + 0x150]
push edx
push esi
call fcn.100c3360
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov eax, dword [esp + 0x150]
push eax
push esi
call fcn.100c3360
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov ecx, dword [esp + 0x150]
push ecx
push esi
call fcn.100c3360
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x14]
push eax
push ecx
call fcn.100c3360
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov edx, dword [esp + 0x150]
mov eax, dword [esp + 0x14]
push edx
push eax
call fcn.100c3360
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
push ebp
push ebx
call fcn.100c3360
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov ecx, dword [esp + 0x150]
push ecx
push ebx
call fcn.100c3360
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov edx, dword [esp + 0x150]
push edx
push ebx
call fcn.100c3360
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
mov eax, dword [esp + 0x150]
push eax
push ebx
call fcn.100c3360
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret
push ebp
push esi
call fcn.100c3360
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x11c
ret
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
pop edi
mov dword [eax], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 4], edx
mov eax, dword [esp + 0x148]
mov edx, dword [esp + 0x24]
mov dword [eax], ecx
mov eax, dword [esp + 0x140]
mov dword [eax], esi
pop esi
mov dword [eax + 4], edx
pop ebp
mov eax, 1
pop ebx
add esp, 0x11c
ret