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

Disassembly:
push 0x64
mov eax, 0x100c80f2
call fcn.100c7256
mov ebx, ecx
mov dword [ebp - 0x54], ebx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x58], eax
test eax, eax
je 0x10030499
mov ecx, dword [ebx + 0x48]
xor eax, eax
mov edx, dword [ebx + 0x4c]
inc eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x5c], eax
xor eax, eax
test byte [ebx + 0x30], 1
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x64], edx
je 0x1002fec4
mov esi, dword [ebx + 0x6c]
mov dword [ebp - 0x40], esi
test esi, esi
jg 0x1002fe41
mov dword [ebp - 0x40], eax
mov edi, dword [ebx + 0x74]
mov dword [ebp - 0x44], edi
test edi, edi
jg 0x1002fe4e
mov dword [ebp - 0x44], eax
mov eax, dword [ebx + 0x40]
sub eax, dword [ebx + 0x38]
mov dword [ebp - 0x50], eax
sub eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x40]
cmp ecx, eax
jg 0x1002fe7a
test esi, esi
jg 0x1002fe67
xor esi, esi
test edi, edi
jg 0x1002fe6d
xor edi, edi
mov ecx, dword [ebp - 0x50]
sub ecx, edi
sub ecx, esi
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x68], ecx
mov ecx, dword [ebx + 0x70]
test ecx, ecx
jle 0x1002fe86
mov dword [ebp - 0x40], ecx
jmp 0x1002fe8a
and dword [ebp - 0x40], 0
mov esi, dword [ebx + 0x78]
test esi, esi
jle 0x1002fe96
mov dword [ebp - 0x44], esi
jmp 0x1002fe9a
and dword [ebp - 0x44], 0
mov edi, dword [ebx + 0x44]
sub edi, dword [ebx + 0x3c]
mov eax, edi
sub eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x40]
cmp edx, eax
jg 0x1002fec4
test ecx, ecx
jg 0x1002feb2
xor ecx, ecx
test esi, esi
jg 0x1002feb8
xor esi, esi
mov edx, edi
sub edx, esi
sub edx, ecx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x64], edx
mov eax, dword [ebx + 0x7c]
mov esi, dword [ebx + 0x2c]
mov dword [ebp - 0x44], esi
mov edi, dword [eax + 8]
test edi, edi
je 0x1002ff9e
and dword [ebp - 0x3c], 0
lea ecx, [ebp - 0x3c]
and dword [ebp - 0x38], 0
mov eax, dword [edi]
push ecx
push dword [ebx + 0x24]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x100d6738]
mov ecx, edi
call esi
mov edx, dword [ebp + 0x18]
mov ecx, edx
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x48], edx
cmp edx, eax
jg 0x1002ff09
mov ecx, eax
cmp ecx, dword [ebx + 0x64]
jle 0x1002ff14
cmp edx, eax
jg 0x1002ff1a
jmp 0x1002ff17
mov eax, dword [ebx + 0x64]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0x1c]
mov edx, ecx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x4c], ecx
cmp ecx, eax
jg 0x1002ff2b
mov edx, eax
cmp edx, dword [ebx + 0x68]
jle 0x1002ff38
cmp ecx, eax
jg 0x1002ff3e
mov ecx, eax
jmp 0x1002ff3b
mov ecx, dword [ebx + 0x68]
mov dword [ebp - 0x4c], ecx
mov eax, dword [ebx + 0x7c]
add ebx, 0x6c
mov ecx, dword [ebp - 0x54]
push ebx
mov edi, dword [eax + 8]
push dword [ecx + 0x2c]
push dword [ecx + 0x24]
mov eax, dword [edi]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x100d6738]
mov ecx, edi
call esi
mov ecx, dword [ebx]
test ecx, ecx
jg 0x1002ff6a
xor ecx, ecx
mov ebx, dword [ebp - 0x54]
mov eax, dword [ebx + 0x74]
test eax, eax
jg 0x1002ff76
xor eax, eax
mov edx, dword [ebp - 0x48]
add eax, ecx
mov ecx, dword [ebx + 0x70]
add edx, eax
mov dword [ebp - 0x48], edx
test ecx, ecx
jg 0x1002ff89
xor ecx, ecx
mov eax, dword [ebx + 0x78]
test eax, eax
jg 0x1002ff92
xor eax, eax
mov esi, dword [ebp - 0x44]
add eax, ecx
mov ecx, dword [ebp - 0x4c]
add ecx, eax
jmp 0x1002ffa7
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x1c]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x4c], ecx
test dword [ebx + 0x28], eax
jne 0x1002ffb7
mov eax, esi
mov dword [ebp + 8], eax
and dword [ebp - 0x40], 0
test al, 1
je 0x1002ffc3
mov esi, edx
jmp 0x1002fff2
test eax, 0x1f80
je 0x1002ffe5
mov esi, edx
mov dword [ebp - 0x40], 1
sub esi, dword [ebp - 0x30]
test esi, esi
jg 0x1002ffdc
xor esi, esi
mov edi, ecx
cmp eax, dword [ebp - 0x44]
je 0x1002fffd
jmp 0x10030009
cmp eax, esi
mov dword [ebp - 0x40], 2
mov esi, edx
jne 0x1002fffb
sub esi, dword [ebp - 0x30]
test esi, esi
jg 0x1002fffb
xor esi, esi
mov edi, ecx
sub edi, dword [ebp - 0x34]
mov dword [ebp - 0x30], edi
test edi, edi
jg 0x1003000c
xor edi, edi
mov dword [ebp - 0x30], edi
and dword [ebp - 0x3c], 0
lea ecx, [ebp - 0x3c]
and dword [ebp - 0x38], 0
push ecx
push eax
mov ecx, ebx
call fcn.1002fa08
mov ecx, dword [ebp - 0x38]
xor edx, edx
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0x60], eax
mov dword [ecx], edx
cmp esi, eax
jle 0x100301b3
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x14], 0xa
lea eax, [ebp - 0x28]
mov dword [ebp - 4], edx
push eax
push dword [ebp + 8]
mov ecx, ebx
call fcn.10031701
mov ecx, dword [ebp - 0x20]
mov edx, eax
xor eax, eax
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x34], eax
test ecx, ecx
je 0x100300f7
mov edi, eax
test edx, edx
je 0x100300ee
cmp esi, dword [ebp - 0x3c]
jle 0x100300ee
push edi
lea ecx, [ebp - 0x28]
call fcn.100325ac
push eax
call fcn.1003258e
mov ecx, dword [eax]
mov eax, ecx
neg eax
mov dword [ebp - 0x34], ecx
sbb eax, eax
and eax, dword [ebp - 0x2c]
mov edx, eax
mov dword [ebp - 0x2c], edx
je 0x100300d1
mov ecx, dword [ecx + 0x2c]
call fcn.1002f5ed
mov ecx, dword [ebp - 0x34]
mov dword [ecx + 0x2c], eax
mov ecx, ebx
call fcn.10031801
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], edx
test eax, eax
je 0x100300d1
mov ecx, eax
call fcn.100304a3
mov edx, eax
mov dword [ebp - 0x2c], eax
test edx, edx
je 0x100300e6
lea eax, [ebp - 0x3c]
mov ecx, ebx
push eax
push dword [ebp + 8]
call fcn.1002fa08
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
inc edi
cmp edi, ecx
jb 0x10030079
mov dword [ebp - 0x34], edi
mov edi, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x40], 2
mov edx, dword [ebp - 0x3c]
jne 0x10030108
mov edi, dword [ebp - 0x58]
mov dword [edi], edx
mov edi, dword [ebp - 0x30]
cmp esi, edx
jle 0x1003019b
mov edx, dword [ebp - 0x2c]
test edx, edx
je 0x1003019b
cmp dword [ebp + 0x10], 0
jne 0x1003019b
xor esi, esi
test eax, eax
je 0x10030171
test edx, edx
je 0x1003019b
cmp eax, ecx
ja 0x10030171
push esi
lea ecx, [ebp - 0x28]
call fcn.100325ac
push eax
call fcn.1003258e
mov ecx, dword [eax]
mov eax, ecx
neg eax
mov dword [ebp - 0x30], ecx
sbb eax, eax
and eax, dword [ebp - 0x2c]
mov edx, eax
mov dword [ebp - 0x2c], edx
je 0x10030164
mov ecx, dword [ecx + 0x2c]
call fcn.100111cc
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov dword [ecx + 0x2c], eax
mov eax, dword [ebp - 0x34]
inc esi
cmp esi, eax
jae 0x10030171
mov ecx, dword [ebp - 0x20]
jmp 0x10030127
test edx, edx
je 0x1003019b
lea eax, [ebp - 0x3c]
mov ecx, ebx
push eax
push dword [ebp + 8]
call fcn.1002fa08
and dword [ebp - 0x5c], 0
mov eax, dword [ebp - 0x60]
cmp dword [ebp - 0x3c], eax
jne 0x10030197
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x38], eax
je 0x1003019b
and dword [ebp - 0x2c], 0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.10025436
cmp dword [ebp - 0x5c], 0
je 0x10030317
xor edx, edx
mov esi, dword [ebp - 0x38]
cmp edi, esi
jle 0x10030317
cmp dword [ebp - 0x2c], 0
je 0x10030317
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x14], 0xa
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 1
push eax
push dword [ebp + 8]
mov ecx, ebx
call fcn.10031701
mov ecx, dword [ebp - 0x20]
mov edx, eax
xor eax, eax
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x34], eax
test ecx, ecx
je 0x1003027b
test edx, edx
je 0x1003027b
cmp edi, esi
jle 0x1003027b
push eax
lea ecx, [ebp - 0x28]
call fcn.100325ac
push eax
call fcn.1003258e
mov esi, dword [eax]
mov eax, esi
neg eax
sbb eax, eax
and eax, dword [ebp - 0x2c]
mov edx, eax
mov dword [ebp - 0x2c], edx
je 0x10030255
mov ecx, dword [esi + 0x2c]
call fcn.1002f5ed
mov ecx, ebx
mov dword [esi + 0x2c], eax
call fcn.10031801
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], edx
test eax, eax
je 0x10030255
mov ecx, eax
call fcn.100304a3
mov edx, eax
mov dword [ebp - 0x2c], eax
test edx, edx
je 0x1003026a
lea eax, [ebp - 0x3c]
mov ecx, ebx
push eax
push dword [ebp + 8]
call fcn.1002fa08
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x20]
inc eax
mov esi, dword [ebp - 0x38]
mov dword [ebp - 0x34], eax
cmp eax, ecx
jb 0x10030204
cmp dword [ebp - 0x40], 1
jne 0x10030289
mov ebx, dword [ebp - 0x58]
mov dword [ebx], esi
mov ebx, dword [ebp - 0x54]
cmp edi, esi
jle 0x1003030b
test edx, edx
je 0x1003030b
cmp dword [ebp + 0x10], 0
jne 0x1003030b
xor esi, esi
test eax, eax
je 0x100302e1
test edx, edx
je 0x1003030b
cmp eax, ecx
ja 0x100302e1
push esi
lea ecx, [ebp - 0x28]
call fcn.100325ac
push eax
call fcn.1003258e
mov edi, dword [eax]
mov eax, edi
neg eax
sbb eax, eax
and eax, dword [ebp - 0x2c]
mov edx, eax
mov dword [ebp - 0x2c], edx
je 0x100302d4
mov ecx, dword [edi + 0x2c]
call fcn.1002f5ed
mov edx, dword [ebp - 0x2c]
mov dword [edi + 0x2c], eax
mov eax, dword [ebp - 0x34]
inc esi
cmp esi, eax
jae 0x100302e1
mov ecx, dword [ebp - 0x20]
jmp 0x1003029d
test edx, edx
je 0x1003030b
lea eax, [ebp - 0x3c]
mov ecx, ebx
push eax
push dword [ebp + 8]
call fcn.1002fa08
and dword [ebp - 0x5c], 0
mov eax, dword [ebp - 0x60]
cmp dword [ebp - 0x3c], eax
jne 0x10030307
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x38], eax
je 0x1003030b
and dword [ebp - 0x2c], 0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.10025436
mov ecx, dword [ebx + 0x6c]
test ecx, ecx
jg 0x10030320
xor ecx, ecx
mov eax, dword [ebx + 0x74]
test eax, eax
jg 0x10030329
xor eax, eax
mov edi, dword [ebp - 0x48]
add eax, ecx
mov ecx, dword [ebx + 0x70]
sub edi, eax
mov dword [ebp - 0x48], edi
test ecx, ecx
jg 0x1003033c
xor ecx, ecx
mov eax, dword [ebx + 0x78]
test eax, eax
jg 0x10030345
xor eax, eax
mov esi, dword [ebp - 0x4c]
sub esi, eax
sub esi, ecx
cmp dword [ebp - 0x5c], 0
mov dword [ebp - 0x4c], esi
je 0x1003045c
mov eax, dword [ebp - 0x44]
cmp dword [ebp + 8], eax
lea eax, [ebp - 0x68]
je 0x10030367
lea eax, [ebp - 0x70]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x50], ecx
add ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x34], ecx
cmp ecx, edi
jl 0x1003037f
mov dword [ebp - 0x34], edi
mov eax, dword [ebp - 0x38]
add eax, edx
mov dword [ebp - 0x30], eax
cmp eax, esi
jl 0x1003038e
mov dword [ebp - 0x30], esi
mov edx, dword [ebx + 0x7c]
mov eax, dword [ebp + 8]
mov dword [ebx + 0x2c], eax
cmp dword [edx + 0x2c], 0
jne 0x10030428
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.USER32.dll_SetRectEmpty]
mov ecx, ebx
call fcn.10031801
test eax, eax
je 0x100303c3
lea esi, [eax + 0x38]
lea edi, [ebp - 0x20]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x4c]
mov edx, dword [ebx + 0x7c]
mov ecx, dword [ebp - 0x20]
mov eax, ecx
sub eax, dword [ebp - 0x18]
sub eax, dword [edx + 0x18]
mov edi, dword [edx + 0x20]
add eax, edi
test eax, eax
jg 0x100303dc
xor eax, eax
add eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x48]
jge 0x100303fa
sub ecx, dword [ebp - 0x18]
sub ecx, dword [edx + 0x18]
lea eax, [ecx + edi]
test eax, eax
jg 0x100303f3
xor eax, eax
mov edi, dword [ebp - 0x50]
add edi, eax
jmp 0x100303fd
mov edi, dword [ebp - 0x48]
mov ecx, dword [edx + 0x24]
sub ecx, dword [edx + 0x1c]
sub ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x1c]
test ecx, ecx
jle 0x10030411
mov eax, ecx
jmp 0x10030413
xor eax, eax
add eax, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x54]
cmp eax, esi
jge 0x10030428
test ecx, ecx
jg 0x10030423
xor ecx, ecx
mov esi, dword [ebp - 0x60]
add esi, ecx
cmp dword [ebp + 0x14], 0
jne 0x10030434
mov edi, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
mov dword [ebx + 0x48], edi
mov dword [ebx + 0x4c], esi
mov edi, dword [edx + 8]
test edi, edi
je 0x1003045c
mov eax, dword [edi]
lea ecx, [ebx + 0x6c]
push ecx
push dword [ebx + 0x2c]
mov esi, dword [eax + 8]
mov ecx, esi
push dword [ebx + 0x24]
call dword [0x100d6738]
mov ecx, edi
call esi
mov eax, dword [ebp - 0x44]
cmp dword [ebp + 8], eax
lea eax, [ebp - 0x68]
je 0x1003046a
lea eax, [ebp - 0x70]
mov edx, dword [ebp - 0x40]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub edx, 1
je 0x10030483
sub edx, 1
jne 0x10030488
mov eax, dword [ebp - 0x58]
add dword [eax], ecx
jmp 0x10030488
mov ecx, dword [ebp - 0x58]
add dword [ecx], eax
cmp dword [ebp - 0x2c], 0
je 0x10030499
cmp dword [ebp - 0x5c], 0
je 0x10030499
xor eax, eax
inc eax
jmp 0x1003049b
xor eax, eax
call fcn.100c7205
ret 0x18