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

Disassembly:
sub esp, 0xac
mov eax, dword [0x100a1040]
xor eax, esp
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xbc]
push ebx
mov dword [esp + 0x68], eax
lea ebx, [ecx*8]
mov eax, dword [esp + 0xc4]
push ebp
mov ebp, dword [esp + 0xcc]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0xd8]
add eax, ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x30], ebx
push esi
push edi
mov edi, ecx
cmp ecx, eax
jge 0x10027773
lea ebp, [esp + 0x78]
add ebp, ebx
inc ecx
lea eax, [ecx + ecx*2]
mov ecx, dword [esp + 0xc0]
lea ebx, [ecx + eax*8]
mov eax, dword [esp + 0x1c]
mov esi, dword [ebx]
test esi, esi
jle 0x10027759
mov eax, dword [esp + 0x24]
mov edx, ebp
mov ecx, dword [eax + edi*4]
add ecx, 0x7d0
nop dword [eax]
mov eax, dword [ecx]
lea ecx, [ecx + 4]
add eax, 0x1000
lea edx, [edx + 4]
mov dword [edx - 4], eax
sub esi, 1
jne 0x10027740
mov eax, dword [esp + 0x1c]
inc edi
add ebx, 0x18
add ebp, 8
cmp edi, eax
jl 0x10027728
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0xd4]
mov edx, dword [esp + 0x24]
mov eax, dword [edx]
xor esi, esi
mov edi, dword [esp + 0xe4]
mov edx, edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x30], edx
mov eax, dword [eax + 0x7e0]
mov dword [esp + 0x68], eax
cmp edi, dword [esp + 0x1c]
jge 0x10027c9a
mov eax, dword [esp + 0x24]
lea esi, [esp + 0x78]
mov ecx, dword [esp + 0xc0]
add esi, ebx
mov dword [esp + 0x48], esi
lea edi, [eax + edi*4]
mov eax, edx
mov dword [esp + 0x34], edi
lea eax, [eax + eax*2]
lea eax, [eax + 3]
lea eax, [ecx + eax*8]
mov ecx, dword [esp + 0x4c]
sub ecx, dword [esp + 0x24]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x38], eax
nop word [eax + eax]
cmp dword [eax - 8], 4
je 0x10027c5f
xor ecx, ecx
mov dword [esp + 0x40], ecx
cmp dword [eax], ecx
jle 0x10027c5b
xor ebx, ebx
mov dword [esp + 0x20], esi
mov dword [esp + 0x44], ebx
mov eax, dword [esp + 0x50]
mov edx, dword [edi]
add edx, ebx
mov dword [esp + 0x70], edx
mov eax, dword [edi + eax]
xor edi, edi
mov dword [esp + 0x64], edi
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x60], eax
cmp dword [eax], edi
jle 0x10027c26
nop word [eax + eax]
cmp dword [eax + 8], 0
mov dword [esp + 0x5c], 0
jle 0x10027c0c
mov eax, dword [esp + 0x30]
lea ebx, [edi*4]
mov edx, dword [esp + 0x74]
mov dword [esp + 0x58], ebx
lea eax, [ecx + eax*2]
mov ecx, eax
shl ecx, 4
sub ecx, eax
shl ecx, 2
add edx, ecx
add edx, edi
mov dword [esp + 0x28], edx
lea eax, [ecx + edi]
mov ecx, dword [esp + 0x68]
lea edi, [ecx + eax*4]
mov ecx, dword [esp + 0x6c]
sub ecx, dword [esp + 0x68]
mov dword [esp + 0x54], edi
mov dword [esp + 0x2c], ecx
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [esp + 0x70]
mov eax, dword [eax + ebx + 0x2f8]
test eax, eax
jne 0x100278a6
mov eax, 0x80000000
jmp 0x100278b7
push eax
call fcn.1000df80
mov edx, dword [esp + 0x2c]
add esp, 4
mov ecx, dword [esp + 0x2c]
mov dword [edi], eax
cmp byte [edx], 2
jb 0x100278cc
cmp dword [esp + 0xdc], 0
jle 0x10027bc3
mov eax, dword [esp + 0x70]
cmp dword [eax + ebx + 0x2f8], 0
je 0x10027bc3
mov esi, dword [edi + ecx]
mov eax, ebp
neg eax
cmp esi, eax
jle 0x10027bb4
test ebp, ebp
jne 0x100278f8
xor edi, edi
lea ebp, [edi + 0x1f]
jmp 0x10027922
test ebp, ebp
mov dword [esp + 0x18], 0
mov eax, ebp
mov ecx, 0x1e
not eax
cmovns eax, ebp
mov ebp, 0x1f
bsr eax, eax
mov edi, ebp
setne dl
sub ecx, eax
test dl, dl
cmovne edi, ecx
test esi, esi
jne 0x1002792a
xor eax, eax
jmp 0x1002794a
jns 0x1002792e
not esi
bsr eax, esi
mov ecx, 0x1e
mov dword [esp + 0x18], 0
setne dl
sub ecx, eax
test dl, dl
mov eax, ebp
cmovne eax, ecx
movsx esi, byte [esp + 0xd8]
mov edx, dword [esp + 0x54]
sub edi, esi
cmp eax, edi
cmovl edi, eax
mov eax, dword [esp + 0x2c]
mov edx, dword [edx + eax]
lea ebp, [edi - 1]
mov ecx, ebp
test ebp, ebp
jle 0x10027971
shl edx, cl
jmp 0x10027975
neg ecx
sar edx, cl
mov eax, dword [esp + 0xd4]
lea ecx, [esi + ebp]
test ecx, ecx
jle 0x10027987
shl eax, cl
jmp 0x1002798b
neg ecx
sar eax, cl
lea esi, [eax + edx]
test esi, esi
jg 0x1002799c
mov esi, 0x80000000
jmp 0x10027a8c
bsr eax, esi
mov edx, 0x1e
mov dword [esp + 0x18], 0
mov ecx, 0x1f
mov edi, 0x80000000
setne bl
sub edx, eax
test bl, bl
cmovne ecx, edx
shl esi, cl
mov ebx, ecx
sub edi, esi
neg ebx
mov dword [esp + 0x18], edi
xor esi, esi
mov dword [esp + 0x3c], edi
mov ecx, 0x1007cda4
nop word [eax + eax]
movsx eax, word [ecx]
shl eax, 0x10
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
imul dword [esp + 0x3c]
mov dword [esp + 0x10], edx
add esi, dword [esp + 0x10]
mov dword [esp + 0x10], edi
mov eax, dword [esp + 0x10]
imul dword [esp + 0x18]
shl edx, 1
mov dword [esp + 0x10], edx
mov edi, dword [esp + 0x10]
add ecx, 2
mov dword [esp + 0x3c], edi
cmp ecx, str.333_
jl 0x100279e0
mov dword [esp + 0x18], 0x71547653
mov dword [esp + 0x10], esi
mov eax, dword [esp + 0x10]
imul dword [esp + 0x18]
mov dword [esp + 0x10], edx
add esi, dword [esp + 0x10]
test ebx, ebx
je 0x10027a74
mov eax, ebx
jns 0x10027a45
not eax
bsr ecx, eax
mov dword [esp + 0x18], 0
setne al
test al, al
lea eax, [ecx - 0x1f]
jne 0x10027a5f
mov eax, 0xffffffe0
add eax, 0x21
lea ecx, [eax - 1]
sar esi, cl
mov ecx, 0x1f
sub ecx, eax
shl ebx, cl
add esi, ebx
jmp 0x10027a79
mov eax, 1
lea ecx, [eax - 6]
test ecx, ecx
jle 0x10027a84
shl esi, cl
jmp 0x10027a88
neg ecx
sar esi, cl
mov ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x54]
shl ebp, 0x19
sub esi, ebp
mov ecx, dword [eax]
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
jns 0x10027b98
mov edx, dword [esp + 0x58]
sub ecx, esi
add edx, eax
mov ebx, ecx
mov eax, ebx
mov dword [edx], ecx
sar eax, 0x19
neg eax
mov dword [esp + 0x18], 0x16302f
test ebx, ebx
lea edi, [eax + 0x1f]
cmovle edi, eax
mov eax, ebx
sar eax, 0x14
xor esi, esi
and eax, 0x1f
cmp ebx, 0xc2000000
cmovge esi, dword [eax*4 + 0x1006fbb8]
mov eax, ebx
sar eax, 0xf
and eax, 0x1f
mov eax, dword [eax*4 + 0x1006fc38]
mov dword [esp + 0x3c], eax
mov eax, ebx
sar eax, 0xa
and eax, 0x1f
mov ecx, dword [eax*4 + 0x1006fcb8]
mov eax, ebx
and eax, 0x3ff
shl eax, 0x10
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
imul dword [esp + 0x18]
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x10]
add eax, ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x10]
imul dword [esp + 0x3c]
shl edx, 1
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
imul dword [esp + 0x18]
shl edx, 1
mov dword [esp + 0x10], edx
cmp edi, 0x1f
mov esi, dword [esp + 0x20]
mov eax, 0x1f
cmovg edi, eax
mov eax, dword [esp + 0x10]
mov ecx, edi
mov edi, dword [esp + 0x54]
lea edx, [eax*8]
shr edx, cl
xor ecx, ecx
cmp ebx, 0x3e000000
setge cl
xor eax, eax
test ebx, ebx
mov ebx, dword [esp + 0x58]
sete al
or ecx, eax
mov eax, 0x7fffffff
cmovne edx, eax
add dword [esp + 0x14], edx
mov edx, dword [esp + 0x28]
jmp 0x10027bcc
lea edx, [eax + ebx]
lea eax, [esi - 0x80000000]
cmp ecx, eax
jle 0x10027aab
mov ebx, ecx
sub ebx, esi
mov ecx, ebx
jmp 0x10027aad
mov esi, dword [esp + 0x20]
mov eax, dword [esi]
mov dword [ebx + eax], 0x7fffffff
jmp 0x10027bcc
mov eax, dword [esi]
mov dword [ebx + eax], 0x80000000
mov ecx, dword [esp + 0x60]
add edi, 4
mov eax, dword [esp + 0x5c]
add ebx, 4
mov ebp, dword [esp + 0xd4]
inc eax
inc edx
mov dword [esp + 0x5c], eax
cmp eax, dword [ecx + 8]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], ebx
mov dword [esp + 0x28], edx
jl 0x10027890
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0x64]
mov ecx, dword [esp + 0x40]
add edi, dword [eax + 4]
mov ebp, dword [esp + 0xd4]
mov dword [esp + 0x64], edi
cmp edi, dword [eax]
jl 0x10027830
mov ebx, dword [esp + 0x44]
mov eax, dword [esp + 0x38]
inc ecx
mov ebp, dword [esp + 0xd4]
add ebx, 0x3cc
mov edi, dword [esp + 0x34]
add esi, 4
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x20], esi
cmp ecx, dword [eax]
jl 0x10027802
mov edx, dword [esp + 0x30]
mov esi, dword [esp + 0x48]
mov ecx, dword [esp + 0x1c]
mov ebp, dword [esp + 0xd4]
inc edx
add esi, 8
mov dword [esp + 0x30], edx
add edi, 4
mov dword [esp + 0x48], esi
add eax, 0x18
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], eax
cmp edx, ecx
jl 0x100277e0
mov edi, dword [esp + 0xe4]
mov esi, dword [esp + 0x14]
lea ebx, [edi*8]
mov eax, dword [esp + 0xdc]
cdq
xor eax, edx
sub eax, edx
push 0
push eax
call fcn.10029820
push 0
push esi
mov ebp, eax
call fcn.10029820
sub ebp, eax
add esp, 0x10
mov dword [esp + 0x6c], ebp
cmp edi, dword [esp + 0x1c]
jge 0x10028005
mov edx, dword [esp + 0xc0]
lea ebp, [esp + 0x78]
mov esi, dword [esp + 0x4c]
lea eax, [edi + 1]
add ebp, ebx
lea eax, [eax + eax*2]
mov ebx, 0xfa
mov dword [esp + 0x44], ebp
sub ebx, edi
lea eax, [edx + eax*8]
shl ebx, 3
lea edx, [esp + 0x78]
sub ebx, edx
mov dword [esp + 0x40], eax
sub dword [esp + 0x24], esi
lea ecx, [esi + edi*4]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ebx
cmp dword [eax - 8], 4
je 0x10027fd9
xor edi, edi
mov dword [esp + 0x20], edi
cmp dword [eax], edi
jle 0x10027fd2
xor edx, edx
mov esi, ebp
add ecx, dword [esp + 0x24]
mov dword [esp + 0x38], edx
mov dword [esp + 0x48], esi
mov dword [esp + 0x3c], ecx
nop dword [eax]
mov ecx, dword [ecx]
lea eax, [ecx + ebx]
xor ebx, ebx
mov ebp, dword [eax + esi]
add ecx, edx
mov eax, dword [esp + 0x28]
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x18], ecx
mov dword [esp + 0x30], ebx
mov eax, dword [eax]
mov eax, dword [eax + edi*4]
mov dword [esp + 0x60], eax
cmp dword [eax], ebx
jle 0x10027f9c
nop dword [eax]
xor edx, edx
mov dword [esp + 0x34], edx
cmp dword [eax + 8], edx
jle 0x10027f89
lea ebp, [ebp + ebx*4]
mov ecx, 0xffffe140
add ebp, 0x1ec0
sub ecx, dword [esp + 0x4c]
mov dword [esp + 0x5c], ecx
nop word [eax + eax]
mov edi, dword [esp + 0x18]
add ecx, ebp
cmp dword [edi + ecx + 0x2f8], 0
mov edi, dword [esp + 0x20]
jle 0x10027f70
mov eax, dword [esi]
mov esi, dword [ecx + eax]
cmp esi, 0x80000000
je 0x10027eee
cmp dword [esp + 0xdc], 0
je 0x10027eee
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x50], 0x16302f
lea ecx, [edi + eax*2]
mov eax, ecx
shl eax, 4
sub eax, ecx
mov ecx, dword [esp + 0x68]
lea eax, [edx + eax*4]
add eax, ebx
mov ebx, dword [esp + 0x6c]
add ebx, 0xf4000000
sub esi, dword [ecx + eax*4]
add ebx, esi
mov eax, ebx
sar eax, 0x19
neg eax
test ebx, ebx
lea edi, [eax + 0x1f]
cmovle edi, eax
mov eax, ebx
sar eax, 0x14
xor esi, esi
and eax, 0x1f
cmp ebx, 0xc2000000
cmovge esi, dword [eax*4 + 0x1006fbb8]
mov eax, ebx
sar eax, 0xf
and eax, 0x1f
mov eax, dword [eax*4 + 0x1006fc38]
mov dword [esp + 0x64], eax
mov eax, ebx
sar eax, 0xa
and eax, 0x1f
mov ecx, dword [eax*4 + 0x1006fcb8]
mov eax, ebx
and eax, 0x3ff
shl eax, 0x10
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
imul dword [esp + 0x50]
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x14]
add eax, ecx
mov dword [esp + 0x14], esi
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x14]
imul dword [esp + 0x64]
shl edx, 1
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
imul dword [esp + 0x50]
shl edx, 1
mov dword [esp + 0x14], edx
cmp edi, 0x1f
mov eax, 0x1f
cmovg edi, eax
mov eax, dword [esp + 0x14]
mov ecx, edi
lea edx, [eax*8]
shr edx, cl
xor ecx, ecx
cmp ebx, 0x3e000000
setge cl
xor eax, eax
test ebx, ebx
sete al
or ecx, eax
mov eax, 0x7fffffff
mov ecx, 0x28000000
cmovne edx, eax
mov eax, edx
neg eax
cmp dword [esp + 0xdc], 0
cmovl eax, edx
cmp eax, ecx
cmovl ecx, eax
jmp 0x10027ef0
xor ecx, ecx
mov esi, dword [ebp]
mov ebx, dword [ebp + 0x3c0]
test ecx, ecx
jns 0x10027f0d
mov eax, 0x80000000
mov edx, 0x80000000
sub eax, ecx
cmp esi, eax
jle 0x10027f10
lea edx, [esi + ecx]
mov edi, dword [ebp + 0xf0]
mov eax, edx
sub eax, ebx
cmp eax, edi
jle 0x10027f59
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xe4]
lea ecx, [eax + ecx*2]
mov eax, ecx
shl eax, 4
sub eax, ecx
mov ecx, dword [esp + 0x74]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x30]
add eax, dword [esp + 0x34]
add ecx, eax
cmp byte [ecx], 1
jne 0x10027f59
mov eax, esi
lea edx, [edi + ebx]
sub eax, edi
cmp ebx, eax
jg 0x10027f56
mov edx, esi
mov byte [ecx], 2
mov ebx, dword [esp + 0x30]
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x48]
mov dword [ebp], edx
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x5c]
inc edx
add ebp, 4
mov dword [esp + 0x34], edx
cmp edx, dword [eax + 8]
jl 0x10027da0
mov ebp, dword [esp + 0x4c]
add ebx, dword [eax + 4]
mov dword [esp + 0x30], ebx
cmp ebx, dword [eax]
jl 0x10027d70
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x40]
inc edi
mov ebx, dword [esp + 0x2c]
add edx, 0x3cc
mov ecx, dword [esp + 0x3c]
add esi, 4
mov dword [esp + 0x20], edi
mov dword [esp + 0x38], edx
mov dword [esp + 0x48], esi
cmp edi, dword [eax]
jl 0x10027d40
mov ecx, dword [esp + 0x28]
mov ebp, dword [esp + 0x44]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xe4]
inc edi
sub ebx, 8
add ebp, 8
mov dword [esp + 0xe4], edi
add ecx, 4
mov dword [esp + 0x2c], ebx
add eax, 0x18
mov dword [esp + 0x44], ebp
mov dword [esp + 0x28], ecx
mov dword [esp + 0x40], eax
cmp edi, edx
jl 0x10027d10
mov ecx, dword [esp + 0xb8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1003b025
add esp, 0xac
ret