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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1008b228
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x270
push ebx
push esi
push edi
push 3
pop esi
mov dword [esp + 0x94], ecx
lea ecx, [esp + 0xfc]
push esi
mov dword [esp + 0x58], edx
call fcn.10019e2d
mov dword [esp + 0xc], 0xb43d2717
xor ebx, ebx
mov dword [esp + 0xc], 0xdab551fa
mov dword [esp + 0xc], esi
mov dword [esp + 0x20], 0x8aac1e0f
mov dword [esp + 0xc], 2
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x18], ebx
jmp 0x1001f25c
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xfc]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jl 0x1001f24a
mov edi, dword [esp + 0xfc]
cmp dword [edi + 8], ebx
jne 0x1001f2f3
mov eax, dword [edi + 4]
xor edx, edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0xc], 1
mov eax, dword [esp + 0xc]
mov esi, dword [edi + 8]
mov dword [esp + 0xc], 0xdd93
mov eax, dword [esp + 0xc]
cmp eax, 4
mov eax, dword [esp + 0xfc]
setne dl
sub edx, esi
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, dword [eax]
mov eax, dword [esp + 0x20]
setge cl
xor edx, edx
cmp ecx, esi
setne dl
xor ecx, ecx
cmp edx, eax
setge cl
cmp ecx, 1
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, dword [edi + 8]
setle al
xor ecx, ecx
cmp dword [edi + 8], eax
setg cl
xor eax, eax
cmp ecx, 0x7494
setg al
mov dword [edi + 8], eax
test eax, eax
jne 0x1001f2f3
mov eax, ebx
jmp 0x1001f2f6
xor eax, eax
inc eax
mov edx, dword [esp + 0x20]
xor ecx, ecx
add edx, eax
mov eax, dword [esp + 0x20]
cmp edx, eax
setge cl
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0xfc]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x24], eax
call fcn.1001a688
mov dword [esp + 0x14], 0xa48bbca6
mov dword [esp + 0x14], ebx
jmp 0x1001f39f
mov dword [esp + 0x10], 0xb0647dc4
mov dword [esp + 0x24], 0x50707dfe
mov dword [esp + 0x24], 4
mov dword [esp + 0x10], 0xffffffee
jmp 0x1001f394
mov dword [esp + 0x18], 0xfaaaeb9a
mov dword [esp + 0x18], ebx
jmp 0x1001f370
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x248], 0xd9e2a8d3
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 2
jl 0x1001f35d
mov dword [esp + 0x18], ebx
jmp 0x1001f389
mov dword [esp + 0x20], ebx
inc dword [esp + 0x20]
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xffffffed
jle 0x1001f37d
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 0x18
jne 0x1001f34f
dec dword [esp + 0x14]
cmp dword [esp + 0x14], 0xfffffff7
je 0x1001f32d
mov esi, dword [sym.imp.USER32.dll_GetDC]
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
push 0xfffffffffffffff9
mov dword [esp + 0x18], 0xfffffffb
pop eax
jmp 0x1001f3dd
mov byte [esp + 0x1f], bl
cmp byte [esp + 0x1f], bl
je 0x1001f3d9
push ebx
call edi
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_GetClipBox]
push 0xfffffffffffffff9
pop eax
dec dword [esp + 0x14]
cmp dword [esp + 0x14], eax
jg 0x1001f3bf
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], 0x1f90ef30
mov dword [esp + 0x24], 0xd1d25bb0
mov dword [esp + 0x18], ebx
jmp 0x1001f42c
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x250], 1
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jl 0x1001f419
dec dword [esp + 0xf8]
mov dword [esp + 0x14], 0x1c
jmp 0x1001f4cf
push 4
lea ecx, [esp + 0x10c]
call fcn.10019e2d
mov dword [esp + 0x24], ebx
mov dword [esp + 0x18], ebx
jmp 0x1001f475
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x108]
mov dword [eax + ecx*4], 0x8e17b844
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 4
jl 0x1001f45f
mov eax, dword [esp + 0x108]
xor edx, edx
mov ecx, dword [esp + 0x24]
inc dword [eax + 0xc]
mov eax, dword [esp + 0x20]
cmp eax, ecx
mov eax, dword [esp + 0xf8]
setg dl
xor ecx, ecx
sub eax, 0x7fa3dfad
cmp eax, edx
mov eax, dword [esp + 0x108]
setg cl
mov dword [esp + 0x20], ecx
xor ecx, ecx
cmp dword [eax], 1
sete cl
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x108]
call fcn.1001a688
dec dword [esp + 0x14]
cmp dword [esp + 0x14], 0xffffffe3
jle 0x1001f447
mov dword [esp + 0x10], 0x4a12b57e
lea ecx, [esp + 0x114]
mov dword [esp + 0x20], 0x6de6eab3
push 1
call fcn.10019e2d
xor edx, edx
mov dword [esp + 0x34], 5
mov dword [esp + 0x10], ebx
inc edx
jmp 0x1001f519
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x2c], 0xfffffffa
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x1001f509
mov dword [esp + 0x10], ebx
jmp 0x1001f537
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x114]
mov dword [eax + ecx*4], edx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x1001f525
mov dword [esp + 0x10], ebx
cmp dword [esp + 0x10], ebx
jl 0x1001f64a
mov dword [esp + 0x24], 0x5e97312b
xor ecx, ecx
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 0xc], 0x6d56a426
mov dword [esp + 0x28], 0xe8f88485
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x2c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x2c]
test eax, eax
setne cl
xor edx, edx
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + eax*4 + 0x2c]
mov eax, dword [esp + 0xc]
dec eax
cmp ecx, eax
mov eax, dword [esp + 0x2c]
setle dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
mov eax, dword [esp + eax*4 + 0x2c]
cmp eax, ecx
mov eax, dword [esp + 0x114]
setne dl
inc edx
neg edx
sbb edx, edx
inc edx
mov dword [eax], edx
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x2c]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x2c]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x2c]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x114]
cmp dword [eax], ebx
jne 0x1001f618
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x2c]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x2c]
mov ecx, dword [esp + 0x34]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, 0xfff7
sbb eax, eax
inc eax
sub dword [esp + 0x28], eax
dec dword [esp + 0x10]
jns 0x1001f54b
mov byte [esp + 0x1f], bl
cmp byte [esp + 0x1f], bl
je 0x1001f66b
push ebx
push 0x26c7
push 0x498
call edi
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_SetPixel]
lea ecx, [esp + 0x114]
call fcn.1001a688
push dword [esp + 0x50]
movdqa xmm0, xmmword [0x100096e0]
lea eax, [esp + 0x210]
push eax
mov dword [esp + 0x28], 0x743d837b
lea eax, [esp + 0x204]
mov dword [esp + 0x2c], 0xca2961c0
lea ecx, [esp + 0xbc]
push eax
mov dword [esp + 0x30], 0xfffffffe
mov dword [esp + 0x44], 0xa32b1cec
mov dword [esp + 0x1c], 0xd149febb
push ebx
movdqu xmmword [esp + 0x20c], xmm0
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xcc], ebx
call fcn.1001b46b
mov dword [esp + 0x284], ebx
mov dword [esp + 0x28], 0xb9dd952e
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0xc], 0x42b48371
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], 0x3a34c865
dec dword [esp + 0x20]
push 3
mov dword [esp + 0x10], 7
pop esi
cmp dword [esp + 0xc], 0x10
je 0x1001f8ca
mov dword [esp + 0x14], 0xffffffff
mov dword [esp + 0x28], ebx
jmp 0x1001f8b7
push esi
lea ecx, [esp + 0x124]
call fcn.10019e2d
mov dword [esp + 0x34], 0xfffffff7
mov dword [esp + 0x18], ebx
jmp 0x1001f76d
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x120]
mov dword [eax + ecx*4], 0xff609d70
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jl 0x1001f757
mov dword [esp + 0x10], ebx
jmp 0x1001f89d
mov dword [esp + 0x18], 0x901516ea
mov dword [esp + 0x24], ebx
mov dword [esp + 0x38], ebx
jmp 0x1001f7a1
mov eax, dword [esp + 0x38]
mov dword [esp + eax*4 + 0xd8], 0xb72b416c
inc dword [esp + 0x38]
cmp dword [esp + 0x38], 1
jl 0x1001f78e
mov dword [esp + 0x38], ebx
jmp 0x1001f88f
mov eax, dword [esp + 0x120]
mov dword [esp + 0x24], 0xf2bba2d3
or dword [eax], 0xffffffff
cmp dword [esp + 0x14], ebx
jne 0x1001f7d9
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x120]
xor edx, edx
push 3
cmp dword [eax], 0xb65c
mov eax, dword [esp + 0x1c]
setl dl
xor ecx, ecx
cmp edx, eax
setne cl
add ecx, dword [esp + 0x38]
mov dword [esp + 0x24], ecx
xor ecx, ecx
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0xb8]
mov eax, dword [esp + 0x24]
cmp dword [edx + esi*4], eax
pop esi
setne cl
mov dword [esp + 0xd8], ecx
mov dword [esp + 0x14], esi
cmp dword [esp + 0x14], ebx
jl 0x1001f88b
mov dword [esp + 0x20], 0xffff
mov dword [esp + 0x34], 0x5a47b6c4
cmp dword [esp + 0x20], ebx
jne 0x1001f857
mov eax, dword [esp + 0x14]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x14], 0x9e96
jg 0x1001f86b
cmp dword [esp + 0x20], ebx
jne 0x1001f86b
mov eax, ebx
jmp 0x1001f86e
xor eax, eax
inc eax
xor edx, edx
cmp eax, 0xffffffff
mov eax, dword [esp + 0x20]
setle dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [esp + 0x24], ecx
dec dword [esp + 0x14]
jns 0x1001f829
inc dword [esp + 0x38]
cmp dword [esp + 0x38], esi
jle 0x1001f7b1
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jle 0x1001f77c
lea ecx, [esp + 0x120]
call fcn.1001a688
inc dword [esp + 0x28]
cmp dword [esp + 0x28], esi
jle 0x1001f73c
inc dword [esp + 0xc]
jmp 0x1001f720
or dword [esp + 0x284], 0xffffffff
lea ecx, [esp + 0xb4]
call fcn.1001a688
mov dword [esp + 0x24], 0x7b5ca98
push 4
pop ecx
mov dword [esp + 0x12c], ecx
mov dword [esp + 0x130], ecx
mov dword [esp + 0x134], ecx
mov dword [esp + 0x138], ecx
mov dword [esp + 0x14], 1
mov dword [esp + 0x24], 0xe71cc545
mov dword [esp + 0xc], ebx
jmp 0x1001f92e
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x1c0], 0xd62a04f7
inc dword [esp + 0xc]
cmp dword [esp + 0xc], ecx
jl 0x1001f91b
mov dword [esp + 0x14], ebx
jmp 0x1001f98c
mov dword [esp + 0x20], 0x1738ab65
mov byte [esp + 0x1f], bl
cmp byte [esp + 0x1f], 0
je 0x1001f966
push ebx
push 0x208
push 0x111b
push 0x18b6
call edi
push eax
call dword [sym.imp.USER32.dll_SetScrollRange]
mov dword [esp + 0x20], esi
cmp dword [esp + 0x20], ebx
jl 0x1001f988
mov byte [esp + 0x1f], bl
cmp byte [esp + 0x1f], 0
je 0x1001f982
push ebx
call dword [sym.imp.USER32.dll_DestroyMenu]
dec dword [esp + 0x20]
jns 0x1001f970
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jle 0x1001f93a
mov dword [esp + 0x14], esi
cmp dword [esp + 0x14], ebx
jl 0x1001fa9c
mov dword [esp + 0x24], 0xfffffffc
lea ecx, [esp + 0x16c]
push esi
call fcn.10019e2d
mov dword [esp + 0x34], 0x8f6a
mov dword [esp + 0x10], ebx
jmp 0x1001f9d6
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x1d0], 0xfffe
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x1001f9c3
mov dword [esp + 0x10], ebx
jmp 0x1001f9f8
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x16c]
mov dword [eax + ecx*4], 0x83acdd71
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x1001f9e2
mov ecx, dword [esp + 0x1d4]
xor edx, edx
mov eax, dword [esp + 0x14]
cmp eax, ecx
setge dl
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x1d0]
mov dword [esp + 0x1c8], eax
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x130], 0x2377d644
je 0x1001fa45
cmp dword [esp + 0x1c8], ebx
je 0x1001fa45
xor edx, edx
inc edx
jmp 0x1001fa47
mov edx, ebx
mov eax, dword [esp + 0x16c]
xor ecx, ecx
cmp edx, dword [eax + 8]
sete cl
cmp ecx, dword [esp + 0x34]
jne 0x1001fa69
cmp dword [esp + 0x130], ebx
jne 0x1001fa69
mov ecx, ebx
jmp 0x1001fa6c
xor ecx, ecx
inc ecx
xor eax, eax
cmp ecx, 0x44d5
lea ecx, [esp + 0x16c]
setg al
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c8], 1
call fcn.1001a688
dec dword [esp + 0x14]
jns 0x1001f9a0
mov dword [esp + 0x24], 7
mov dword [esp + 0x24], 0xfa147b80
mov dword [esp + 0x24], 0x43b8a277
mov dword [esp + 0x10], ebx
jmp 0x1001facd
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x25c], 0x20624039
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x1001faba
push 2
mov dword [esp + 0x14], ebx
pop ecx
jmp 0x1001faef
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x240], 0xfffffffc
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ecx
jl 0x1001fadc
mov dword [esp + 0x10], ebx
jmp 0x1001fb0e
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x1a8], 0xee0cd979
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x1001fafb
mov dword [esp + 0x20], ecx
cmp dword [esp + 0x20], ebx
jl 0x1001fb6e
mov dword [esp + 0x24], 9
mov dword [esp + 0x24], 0x60ec01e6
mov dword [esp + 0x24], 0x3aeb5900
mov dword [esp + 0x24], 0xb060d2f3
mov dword [esp + 0xc], ebx
jmp 0x1001fb53
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x268], ebx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 4
jl 0x1001fb44
push ebx
call fcn.100227eb
dec dword [esp + 0x1b0]
dec dword [esp + 0x24]
pop ecx
jns 0x1001fb1e
push ebx
lea eax, [esp + 0x4a]
mov byte [esp + 0x4a], bl
push eax
push 0x9bd
call fcn.10022d63
mov dword [esp + 0x20], 0x9e57ad95
add esp, 0xc
mov dword [esp + 0x24], 0xfffffffb
mov dword [esp + 0xc], ebx
jmp 0x1001fbae
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0xe4], 0x4e2db58
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 1
jl 0x1001fb9b
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x14], ebx
jl 0x1001fc30
mov dword [esp + 0x34], 0xa1220985
lea ecx, [esp + 0x1b4]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x34], 0xafcb143e
mov dword [esp + 0x34], 0xe9bf9f36
mov dword [esp + 0x34], 0xb0815898
push esi
call fcn.10019e2d
mov dword [esp + 0x34], 0x86e3e45b
mov dword [esp + 0xc], ebx
jmp 0x1001fc14
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x1b4]
mov dword [eax + ecx*4], 0xfffffffe
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x1001fbfe
dec dword [esp + 0x24]
lea ecx, [esp + 0x1b4]
call fcn.1001a688
dec dword [esp + 0x14]
jns 0x1001fbbf
mov dword [esp + 0x14], ebx
jmp 0x1001fc49
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0xe4], 0x6a6c65b0
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 1
jl 0x1001fc36
mov esi, dword [esp + 0x94]
cmp dword [esi + 0x10], ebx
jne 0x1001fc63
xor al, al
jmp 0x10020982
mov dword [esp + 0x14], 0x97f6af11
mov dword [esp + 0xc], ebx
jmp 0x1001fc80
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x234], ebx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x1001fc71
mov dword [esp + 0x14], 0xffffffe2
jmp 0x1001fe35
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xac], ebx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xc], 1
mov dword [esp + 0xa4], ebx
jmp 0x1001fdfc
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0xc], ebx
jmp 0x1001fce2
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x5c], 0xfffffffc
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x1001fcd2
mov dword [esp + 0x60], 0xa
jmp 0x1001fd1e
mov byte [esp + 0x1f], bl
cmp byte [esp + 0x1f], 0
je 0x1001fd1a
push 0x932
push ebx
push ebx
push ebx
push ebx
push 0x5fb
push 0x13aa
call edi
push eax
call dword [sym.imp.USER32.dll_ScrollWindowEx]
inc dword [esp + 0x60]
cmp dword [esp + 0x60], 0x1b
je 0x1001fcf3
mov dword [esp + 0x10], ebx
jmp 0x1001fdea
mov dword [esp + 0x28], ebx
mov eax, dword [esp + 0x14]
sub eax, 0x4292
jne 0x1001fd45
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x5c]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x5c]
mov dword [esp + 0x23c], 0x2db7
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x5c]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp dword [esp + eax*4 + 0x5c], ebx
jne 0x1001fd80
mov eax, dword [esp + 0x10]
cmp dword [esp + eax*4 + 0x5c], ebx
jne 0x1001fd80
mov ecx, ebx
jmp 0x1001fd83
xor ecx, ecx
inc ecx
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x5c], ecx
mov dword [esp + 0x28], ebx
jmp 0x1001fddf
push 1
lea ecx, [esp + 0x188]
call fcn.10019e2d
mov dword [esp + 0xc], ebx
jmp 0x1001fdbb
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x184]
mov dword [eax + ecx*4], 0x3f6a
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 1
jl 0x1001fda5
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x184]
mov dword [eax], ecx
lea ecx, [esp + 0x184]
call fcn.1001a688
dec dword [esp + 0x28]
cmp dword [esp + 0x28], 0xffffffe7
jle 0x1001fd91
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jle 0x1001fd2e
inc dword [esp + 0xa4]
cmp dword [esp + 0xa4], 0xf
jne 0x1001fcc4
mov dword [esp + 0xc], 0xffffffeb
jmp 0x1001fe2a
mov byte [esp + 0x1f], bl
cmp byte [esp + 0x1f], 0
je 0x1001fe26
push ebx
call dword [sym.imp.KERNEL32.dll_SetCommBreak]
dec dword [esp + 0xc]
cmp dword [esp + 0xc], 0xffffffe9
jg 0x1001fe14
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 5
jl 0x1001fc94
mov dword [esp + 0x14], 0xdd1e1e87
push 3
mov dword [esp + 0x28], 0xe856
mov dword [esp + 0x10], ebx
pop edi
jmp 0x1001fe6c
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x80], 0xffff
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x1001fe59
mov dword [esp + 0x14], ebx
jmp 0x1001ffba
mov dword [esp + 0x10], 0xa9ef72d4
mov dword [esp + 0x18], 0x35900b08
mov dword [esp + 0x10], ebx
jmp 0x1001ffab
mov dword [esp + 0xc], 0xfffffffd
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x80]
cmp eax, dword [esp + 0x10]
jge 0x1001ff69
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x10]
cmp dword [esp + eax*4 + 0x80], ebx
jne 0x1001ff57
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov eax, dword [esp + eax*4 + 0x80]
cmp eax, 0x5537
setge cl
xor edx, edx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
sub ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
cmp ecx, eax
mov eax, dword [esp + 0x18]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x10]
setg cl
xor edx, edx
mov eax, dword [esp + eax*4 + 0x80]
cmp eax, ecx
mov eax, dword [esp + 0x88]
setg dl
xor ecx, ecx
cmp edx, eax
setne cl
cmp ecx, 9
jle 0x1001ff2a
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x80]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x80]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x84]
mov eax, dword [esp + 0x20]
xor ecx, ecx
cmp eax, 1
setge cl
mov dword [esp + 0x18], ecx
jmp 0x1001ffa7
mov dword [esp + 0x24], 0x12d49381
cmp dword [esp + 0x24], ebx
je 0x1001ff82
cmp dword [esp + 0x18], ebx
je 0x1001ff82
xor edx, edx
inc edx
jmp 0x1001ff84
mov edx, ebx
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
cmp edx, eax
setle cl
mov dword [esp + 0xc], ecx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jle 0x1001fe94
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jle 0x1001fe7b
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xc0]
push dword [esp + 0x50]
movdqa xmm0, xmmword [0x10009690]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x58]
movdqu xmmword [esp + 0x1f0], xmm0
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ebx
mov dword [eax], ebx
lea eax, [esp + 0x200]
push eax
lea eax, [esp + 0x1f4]
mov dword [esp + 0xd0], ebx
push eax
push ebx
call fcn.1001b46b
mov dword [esp + 0xc], 0x184c506d
mov dword [esp + 0xc], ebx
jmp 0x10020057
mov dword [esp + 0x18], 0xc8a6b950
mov dword [esp + 0x18], ebx
jmp 0x1002004c
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xc0]
mov dword [eax + ecx*4], 0x1bf2b299
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 4
jl 0x10020036
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jle 0x10020028
lea ecx, [esp + 0xc0]
call fcn.1001a688
push 2
lea ecx, [esp + 0x1a0]
call fcn.10019e2d
mov dword [esp + 0x284], 1
lea ecx, [esp + 0x178]
mov dword [esp + 0x20], 0xffffffff
push 2
call fcn.10019e2d
push 2
pop edx
mov byte [esp + 0x284], dl
mov dword [esp + 0x14], ebx
jmp 0x100200be
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x19c]
mov dword [eax + ecx*4], 0x204e
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edx
jl 0x100200a8
mov dword [esp + 0x14], ebx
jmp 0x100200e0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x178]
mov dword [eax + ecx*4], 0xf390
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edx
jl 0x100200ca
mov dword [esp + 0x20], 1
cmp dword [esp + 0x20], ebx
jl 0x10020105
mov eax, dword [esp + 0x178]
cmp dword [eax], ebx
jne 0x10020105
dec dword [esp + 0x20]
jns 0x100200f4
mov byte [esp + 0x1f], bl
cmp byte [esp + 0x1f], 0
je 0x10020123
push ebx
push 0x7626
push 0x4165
call fcn.1002321b
add esp, 0xc
lea ecx, [esp + 0x178]
call fcn.1001a688
or dword [esp + 0x284], 0xffffffff
lea ecx, [esp + 0x19c]
call fcn.1001a688
mov dword [esp + 0x10], 0x96dd1e1e
mov dword [esp + 0x24], ebx
mov dword [esp + 0xc], ebx
jmp 0x10020165
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x48], 0xfffd
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 1
jl 0x10020155
mov dword [esp + 0x10], ebx
cmp dword [esp + 0x10], ebx
jl 0x100201a5
mov dword [esp + 0xc], 0x56a9ef72
mov dword [esp + 0xc], ebx
jmp 0x10020199
mov byte [esp + 0x1f], bl
cmp byte [esp + 0x1f], 0
je 0x10020195
call dword [sym.imp.USER32.dll_GetCaretBlinkTime]
inc dword [esp + 0xc]
cmp dword [esp + 0xc], ebx
jle 0x10020184
dec dword [esp + 0x10]
jns 0x10020176
mov dword [esp + 0x10], ebx
cmp dword [esp + 0x10], ebx
jl 0x10020283
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0xc], 0x22803359
mov dword [esp + 0xc], ebx
jmp 0x100201d8
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x228], ebx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x100201c9
mov eax, dword [esp + 0x10]
imul eax, dword [esp + eax*4 + 0x48], 0x96b7
cmp eax, 0x6ec1
je 0x10020270
cmp dword [esi + 0x14], 0x10
jb 0x1002028d
mov ecx, dword [esi]
jmp 0x1002028f
mov ecx, esi
cmp dword [esi + 0x14], 0x10
mov dword [esp + 0x58], ecx
jb 0x1002029d
mov edx, dword [esi]
jmp 0x1002029f
mov edx, esi
mov eax, dword [esi + 0x10]
add eax, edx
cmp ecx, eax
je 0x100206ba
mov ecx, dword [esp + 0x27c]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret