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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10065879
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc0
push ebx
push esi
xor ebx, ebx
mov dword [esp + 0x44], edx
push edi
mov esi, ecx
mov dword [esp + 0x10], 0x24a8c6a5
inc ebx
mov dword [esp + 0x14], esi
push ebx
lea ecx, [esp + 0x5c]
call fcn.100099bf
xor edx, edx
mov dword [esp + 0xd4], edx
mov dword [esp + 0x50], 0x8364
mov dword [esp + 0xc], edx
jmp 0x10035682
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x58]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], ebx
jl 0x10035673
mov dword [esp + 0x10], 3
cmp dword [esp + 0x10], 0xfffffff6
jge 0x100356be
mov dword [esp + 0x28], 0xfffffffd
lea ecx, [esp + 0x27]
mov byte [esp + 0x27], dl
call fcn.100349ce
mov eax, dword [esp + 0x28]
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0xfffffff6
push 0
pop edx
jl 0x10035697
cmp dword [esp + 0x10], edx
je 0x1003593b
mov dword [esp + 0x28], 0x5fa31871
mov dword [esp + 0x30], ebx
mov dword [esp + 0x10], edx
cmp dword [esp + 0x10], edx
jg 0x10035956
mov dword [esp + 0xc], 0xf3938425
mov dword [esp + 0x20], 0xfffffff9
mov dword [esp + 0x30], 0x2359
cmp dword [esp + 0x30], 0xe0e
jge 0x10035881
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], edx
push eax
push 0x10007764
call fcn.1004c09b
xor eax, eax
pop ecx
pop ecx
mov dword [esp + 0x84], eax
lea ecx, [esp + 0x68]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
lea eax, [esp + 0x84]
push eax
push dword [esp + 0x20]
call fcn.10033695
mov eax, dword [esp + 0x1c]
xor esi, esi
mov edi, dword [esp + 0x68]
test eax, eax
jle 0x1003579a
xor ebx, ebx
test eax, eax
jle 0x10035783
and dword [esp + 0x54], 0
lea eax, [esp + 0x54]
push eax
push 0x10007758
call fcn.1004c09b
pop ecx
pop ecx
cmp esi, ebx
jne 0x1003577c
mov eax, dword [esp + 0x54]
mov dword [edi + esi*4], eax
inc ebx
cmp ebx, dword [esp + 0x1c]
jl 0x1003575b
push 0x10007b3c
call fcn.1004c09b
mov eax, dword [esp + 0x20]
inc esi
pop ecx
cmp esi, eax
jl 0x10035755
xor ebx, ebx
inc ebx
and dword [esp + 0x34], 0
lea eax, [esp + 0x34]
push eax
push 0x10007b6c
call fcn.1004c09b
mov eax, dword [esp + 0x3c]
pop ecx
pop ecx
test eax, eax
je 0x10035858
xor esi, esi
dec eax
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], eax
lea eax, [esp + 0x38]
push eax
push 0x10007758
call fcn.1004c09b
pop ecx
pop ecx
cmp dword [esp + 0x38], ebx
je 0x10035826
cmp dword [esp + 0x38], 2
je 0x10035826
cmp dword [esp + 0x38], 3
jne 0x1003584c
mov eax, esi
mov ecx, esi
cmp dword [esp + 0x1c], eax
jle 0x10035800
add eax, dword [edi + ecx*4]
inc ecx
cmp ecx, dword [esp + 0x1c]
jl 0x100357f6
and eax, 0x80000001
jns 0x1003580c
dec eax
or eax, 0xfffffffe
inc eax
push eax
push 0x10007758
call fcn.1004c2b6
push 0x10007b3c
call fcn.1004c09b
add esp, 0xc
jmp 0x1003584c
lea eax, [esp + 0x64]
mov dword [esp + 0x64], esi
push eax
push 0x10007764
call fcn.1004c09b
pop ecx
pop ecx
mov ecx, dword [esp + 0x64]
xor eax, eax
cmp dword [edi + ecx*4 - 4], esi
sete al
mov dword [edi + ecx*4 - 4], eax
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x100357be
dec eax
push 0x100076c5
mov dword [esp + 0x38], eax
call fcn.1004c476
pop ecx
test edi, edi
je 0x10035881
push edi
call fcn.1004c427
xor eax, eax
pop ecx
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x58]
mov edx, dword [eax]
mov eax, dword [esp + 0x20]
inc edx
cmp edx, eax
setg cl
cmp ecx, 0xd3d47825
jbe 0x100358af
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
xor edx, edx
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x28]
cmp ecx, eax
mov eax, dword [esp + 0xc]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x58]
setne cl
sub ecx, dword [eax]
neg ecx
sbb ecx, ecx
neg ecx
lea eax, [ecx - 0x1c443818]
mov dword [esp + 0x20], eax
imul eax, dword [esp + 0x20], 0x55a
sub eax, 0x1078
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x50], eax
je 0x100358ff
mov eax, dword [esp + 0x10]
xor edx, edx
mov dword [esp + 0x30], ebx
mov dword [esp + 0xc], edx
jmp 0x10035921
mov byte [esp + 0x1b], dl
cmp byte [esp + 0x1b], 0
je 0x1003591d
call fcn.10034b97
xor edx, edx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jle 0x1003590b
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jle 0x100356e2
mov esi, dword [esp + 0x14]
jmp 0x10035956
mov dword [esp + 0x14], 8
lea ecx, [esp + 0x50]
call fcn.10034bac
mov dword [esp + 0x14], 0xb0c3
xor edx, edx
or dword [esp + 0xd4], 0xffffffff
cmp dword [esp + 0x58], 0
je 0x1003597d
push dword [esp + 0x58]
call fcn.1004c427
xor edx, edx
pop ecx
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x60], edx
cmp dword [esi + 0x10], edx
jne 0x10035989
xor al, al
jmp 0x10035d3c
lea ecx, [esp + 0x48]
call fcn.10034e83
cmp dword [esi + 0x14], 0x10
jb 0x1003599c
mov ecx, dword [esi]
jmp 0x1003599e
mov ecx, esi
cmp dword [esi + 0x14], 0x10
mov dword [esp + 0x40], ecx
jb 0x100359ac
mov edx, dword [esi]
jmp 0x100359ae
mov edx, esi
mov eax, dword [esi + 0x10]
add eax, edx
cmp ecx, eax
je 0x10035ca4
mov al, byte [ecx]
cmp al, 0x30
jl 0x10035ac6
cmp al, 0x39
jg 0x10035ac6
mov dword [esp + 0x10], 0x1a049fe3
mov dword [esp + 0x10], 0x11
jmp 0x10035a98
mov dword [esp + 0x14], 0x1fcd
cmp dword [esp + 0x14], 0x871
jge 0x10035a66
lea eax, [esp + 0x8c]
push eax
push ecx
lea eax, [esp + 0x54]
mov ecx, 0x106552b0
push eax
call fcn.100330a0
pop ecx
mov ecx, eax
call fcn.100330a0
mov ecx, dword [esp + 0x4c]
lea eax, [ecx - 1]
imul eax, ecx
cdq
sub eax, edx
sar eax, 1
cmp eax, dword [esp + 0x8c]
jg 0x10035a39
push 0x10007d80
call fcn.1004c476
pop ecx
jmp 0x10035a66
xor edi, edi
test ecx, ecx
jle 0x10035a66
push edi
push ecx
mov edx, 0x10007cc4
mov ecx, 0x106551f8
call fcn.1000cea1
pop ecx
mov ecx, eax
call fcn.10038c59
push eax
call fcn.1000ce67
inc edi
pop ecx
cmp edi, dword [esp + 0x4c]
jl 0x10035a3f
mov dword [esp + 0xc], 0
jmp 0x10035a83
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0xbc], 0xf84b8114
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x10035a70
cmp dword [esp + 0xbc], 0
jne 0x10035aa3
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 5
jne 0x100359e2
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x4c]
push eax
push 0x47e1
push 0
call fcn.100389a9
mov ecx, dword [esp + 0x50]
add esp, 0x10
inc ecx
jmp 0x1003599e
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x90]
push 3
and dword [eax], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x30], 0x5d16df25
call fcn.100099bf
lea edx, [esp + 0x90]
mov dword [esp + 0xd4], ebx
lea ecx, [esp + 0xb8]
call fcn.100350f5
mov dword [esp + 0x14], 0x1ccd
cmp dword [esp + 0x14], 0x9a6
jge 0x10035c36
lea eax, [esp + 0x3c]
push eax
push 0x10007ae8
call fcn.1004c09b
mov eax, dword [esp + 0x44]
pop ecx
pop ecx
inc eax
lea ecx, [esp + 0x9c]
push eax
call fcn.10012b9f
push 2
pop eax
mov byte [esp + 0xd4], al
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x9c]
mov dword [esp + 0x44], eax
cmp esi, eax
jl 0x10035b94
lea eax, [esp + 0x88]
push eax
push 0x10007ae8
call fcn.1004c09b
pop ecx
pop ecx
imul ecx, dword [esp + 0x88], 0xc
lea eax, [esp + 0x44]
push eax
add ecx, edi
call fcn.10012c27
mov eax, dword [esp + 0x44]
mov esi, dword [esp + 0x3c]
inc eax
mov dword [esp + 0x44], eax
cmp eax, esi
jle 0x10035b5b
mov eax, ebx
mov dword [esp + 0x28], eax
cmp esi, ebx
jl 0x10035c14
add edi, 0xc
mov dword [esp + 0xc], edi
mov edx, dword [edi + 4]
mov ecx, dword [edi]
sub edx, ecx
sar edx, 2
test edx, edx
je 0x10035c00
xor eax, eax
and dword [esp + 0x30], eax
test edx, edx
je 0x10035c12
mov edi, dword [esp + 0x30]
mov esi, ecx
mov ebx, eax
imul eax, dword [esi], 0xc
lea esi, [esi + 4]
add eax, dword [esp + 0x9c]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
and ecx, 0xfffffffc
neg ecx
sbb ecx, ecx
inc ecx
add ebx, ecx
inc edi
cmp edi, edx
jb 0x10035bc5
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0xc]
mov dword [esp + 0x20], ebx
xor ebx, ebx
inc ebx
cmp dword [esp + 0x20], 3
jl 0x10035c12
mov eax, dword [esp + 0x28]
inc eax
add edi, 0xc
mov dword [esp + 0x28], eax
mov dword [esp + 0xc], edi
cmp eax, esi
jle 0x10035ba5
jmp 0x10035c14
xor bl, bl
mov ecx, 0x10007d0c
test bl, bl
mov eax, 0x10007d08
cmove eax, ecx
push eax
call fcn.1004c476
pop ecx
lea ecx, [esp + 0x9c]
call fcn.100133ab
lea edx, [esp + 0x78]
lea ecx, [esp + 0x2c]
call fcn.1003554a
mov dword [esp + 0x2c], 2
cmp dword [esp + 0x2c], 0
jl 0x10035c84
lea eax, [esp + 0x7c]
mov dword [esp + 0x7c], 0x789328a
push eax
lea eax, [esp + 0x30]
mov dword [esp + 0x78], 0xe6b6cd3
push eax
lea edx, [esp + 0x98]
lea ecx, [esp + 0x7c]
call fcn.1003559d
dec dword [esp + 0x34]
pop ecx
pop ecx
jns 0x10035c52
cmp dword [esp + 0x90], 0
je 0x10035982
push dword [esp + 0x90]
call fcn.1004c427
pop ecx
jmp 0x10035982
mov dword [esp + 0x14], ebx
lea ecx, [esp + 0xa8]
mov dword [esp + 0x14], 3
mov dword [esp + 0x14], 0x5e17ca00
mov dword [esp + 0x14], 0
mov dword [esp + 0x14], 0xe4438bea
mov dword [esp + 0x14], ebx
mov dword [esp + 0x14], ebx
push 3
call fcn.100099bf
mov dword [esp + 0x80], 0x8b081589
lea edx, [esp + 0xa8]
lea ecx, [esp + 0xb4]
call fcn.100355f7
lea ecx, [esp + 0x80]
call fcn.10035616
mov byte [esp + 0x1b], 0
cmp byte [esp + 0x1b], 0
je 0x10035d23
push 0
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_ClientToScreen]
cmp dword [esp + 0xa8], 0
je 0x10035d3a
push dword [esp + 0xa8]
call fcn.1004c427
pop ecx
mov al, bl
mov ecx, dword [esp + 0xcc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret