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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10064185
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x110
cmp byte [ebp + 0x20], 0
push ebx
push esi
push edi
mov byte [esp + 0x50], dl
mov byte [esp + 0x40], cl
je 0x1001c1ac
test dl, dl
je 0x1001b8db
mov eax, dword [ebp + 0xc]
mov byte [eax], 1
jmp 0x1001c20e
mov dword [esp + 0x20], 0x4ea6801f
xor edx, edx
mov dword [esp + 0x60], 3
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
cmp ecx, eax
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
setg dl
add ecx, edx
xor edx, edx
cmp ecx, eax
setl dl
xor eax, eax
xor ebx, ebx
cmp edx, 0x121a
jl 0x1001b923
mov ecx, ebx
cmp dword [esp + 0x20], ebx
je 0x1001b926
lea ecx, [eax + 1]
mov eax, dword [esp + 0x20]
inc eax
push 2
pop edi
cmp eax, ecx
je 0x1001b94d
push 0x1f3d
push ebx
push ebx
mov edx, 0x715b
mov ecx, 0x2394
call fcn.10018890
add esp, 0xc
jmp 0x1001b9b3
mov dword [esp + 0x20], edi
cmp dword [esp + 0x20], 0x11
jge 0x1001b9b3
xor esi, esi
inc esi
mov dword [esp + 0x28], 0x45714ffd
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], bl
je 0x1001b9a0
push 0x310a
push 0x7493
push 0x4e5a
push ebx
push esi
push 0x5ddd
push ebx
push 0x799b
push 0x2e88
mov edx, 0x4441
mov ecx, 0x7cc3
call fcn.1001b228
add esp, 0x24
mov dword [esp + 0x28], 0xee76373a
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 0x11
jl 0x1001b95b
lea eax, [esp + 0x20]
xor esi, esi
push eax
push 0x14af
lea eax, [esp + 0x68]
inc esi
push eax
push 0x6bf2
push 0x1302
push 0x4c85
push 0x3bc6
push esi
push 0x4bb5
push 0x567d
push ebx
push 0x3c7b
xor dl, dl
mov ecx, 0x299e
call fcn.1001b468
add esp, 0x30
lea ecx, [esp + 0xb0]
push dword [ebp + 0x14]
call fcn.10004bdf
mov dword [esp + 0x124], ebx
mov dword [esp + 0x10], 0x5b6c
cmp dword [esp + 0x10], 0x5d39
jle 0x1001ba8a
xor esi, esi
mov dword [esp + 0x1c], esi
mov edi, esi
mov esi, 0x56f4
mov eax, edi
lea ecx, [esp + 0xe8]
and eax, ebx
cdq
push edx
push eax
call fcn.10001ab5
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1001ba4b
mov eax, dword [eax]
push eax
call fcn.1004c653
pop ecx
xor eax, eax
lea ecx, [esp + 0xe8]
push 0
inc eax
push eax
call fcn.100050bb
dec edi
dec esi
jne 0x1001ba2e
mov esi, dword [esp + 0x1c]
inc esi
mov dword [esp + 0x1c], esi
cmp esi, 0x1614
jl 0x1001ba27
inc ebx
cmp ebx, 0x3f6e
jl 0x1001ba21
push 2
xor esi, esi
xor ebx, ebx
pop edi
inc esi
cmp dword [esp + 0x10], 0x5a9f
jge 0x1001ba9f
push str.qrtzma_xkajwocib_ohz_njtssuu_ooehfbev_gwpuhttzs_lahbbl_tdkg_zxovxa_bko_xyzlox_dgyli
call fcn.1004c653
pop ecx
mov dword [esp + 0x124], ebx
mov dword [esp + 0x14], 0x1f7e2799
mov dword [esp + 0x28], esi
mov dword [esp + 0x14], 0xfffffffe
jmp 0x1001bb26
mov dword [esp + 0x28], 0x196a162c
mov byte [esp + 0x1b], bl
cmp byte [esp + 0x1b], 0
je 0x1001baf2
push 0x4f72
push ecx
push 0x2bc5
push 0x1df7
push ebx
mov edx, 0x550d
mov ecx, 0x537
call fcn.1001945a
add esp, 0x14
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
dec ecx
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
add ecx, 0x89a6
cmp ecx, eax
mov eax, dword [esp + 0x28]
setge dl
xor ecx, ecx
add eax, 0xb7ce
cmp eax, edx
setle cl
mov dword [esp + 0x28], ecx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 0x15
je 0x1001babc
push ecx
push dword [ebp + 0x18]
lea ecx, [esp + 0xb8]
call fcn.1001d826
mov esi, eax
mov ecx, 0x5383
lea eax, [esp + 0x7c]
mov dword [esp + 0x48], esi
push eax
push 0x5deb
push ebx
push 0x1c1b
push 0x6926
push ebx
lea eax, [esp + 0x80]
mov dword [esp + 0x94], edi
push eax
xor eax, eax
mov dword [esp + 0x84], 0xffffffff
push 0x6dd5
push 0xcf7
lea edx, [eax + 1]
call fcn.10019b55
add esp, 0x24
cmp esi, 0xffffffff
je 0x1001bd98
mov dword [esp + 0x2c], 0xf378
mov dword [esp + 0x34], 0xfffffffb
mov dword [esp + 0x10], ebx
jmp 0x1001bbbe
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x54], 0x34859bb7
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x1001bbae
push ecx
lea eax, [esp + 0x30]
xor dl, dl
push eax
call fcn.10019ec3
pop ecx
pop ecx
mov dword [esp + 0x2c], ebx
jmp 0x1001bd62
xor eax, eax
lea ecx, [esp + 0x80]
inc eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x30], 0x4c20f746
push edi
call fcn.10004d6b
push 0x4cdb
sub esp, 0xc
mov byte [esp + 0x134], 3
lea eax, [esp + 0x90]
mov dword [esp + 0x2c], 0xc507b392
mov edx, 0x2492
push ebx
push ecx
push eax
lea ecx, [esp + 0xe4]
call fcn.1001a6f8
add esp, 0x1c
lea eax, [esp + 0x30]
xor dl, dl
push eax
push ecx
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x44]
push eax
push ecx
lea eax, [esp + 0x40]
push eax
push 0x3bb1
push ecx
mov ecx, 0x3fd7
call fcn.100191e9
xor ecx, ecx
add esp, 0x20
inc ecx
mov dword [esp + 0x34], ecx
cmp dword [esp + 0x34], ebx
jl 0x1001bd4b
mov dword [esp + 0x10], 0x5395f87b
mov dword [esp + 0x28], 0xa746
mov dword [esp + 0x14], 0x6fa7abe3
mov dword [esp + 0x30], ebx
cmp dword [esp + 0x30], ecx
jg 0x1001bd41
mov esi, dword [esp + 0x80]
mov eax, dword [esp + 0x10]
mov edx, 0xa429
cmp ecx, eax
sbb eax, eax
neg eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x34]
mov eax, dword [esp + eax*4 + 0x54]
sub edx, eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + eax*4 + 0x54]
mov eax, dword [esp + 0x10]
add eax, edx
imul ecx, eax
test ecx, ecx
je 0x1001bcd1
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x30]
mov eax, dword [esp + eax*4 + 0x54]
mov eax, dword [esp + 0x34]
mov eax, dword [esp + eax*4 + 0x54]
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x38]
cmp dword [esp + 0x38], 0xffffffff
mov dword [esi + 4], 0xffff
je 0x1001bd04
cmp dword [esp + 0x28], ebx
je 0x1001bd04
xor eax, eax
lea edx, [eax + 1]
jmp 0x1001bd06
mov edx, ebx
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + eax*4 + 0x54]
imul eax, edx, 5
xor edx, edx
add eax, 0x75ff317e
cmp eax, ecx
mov eax, dword [esp + 0x2c]
setle dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [esp + 0x14], ecx
xor ecx, ecx
mov eax, dword [esp + 0x1c]
inc ecx
inc dword [esp + 0x30]
cmp dword [esp + 0x30], ecx
jle 0x1001bc97
dec dword [esp + 0x34]
jns 0x1001bc6a
lea ecx, [esp + 0x80]
mov byte [esp + 0x124], bl
call fcn.10004dc8
inc dword [esp + 0x2c]
cmp dword [esp + 0x2c], 0x31
jg 0x1001bbdc
push ecx
push 0x2798
push 0x3c7e
push ecx
push 0x66b5
lea eax, [esp + 0xc4]
mov ecx, 0x40ed
push ebx
push eax
lea edx, [esp + 0x64]
call fcn.1001b2c5
add esp, 0x1c
mov dword [esp + 0x64], 0xfc4f27d2
mov dword [esp + 0x70], 0xa4ccfd6
mov dword [esp + 0x78], 0xfffffffc
mov dword [esp + 0x28], 0x22401dbd
mov dword [esp + 0x6c], 8
mov dword [esp + 0x10], ebx
jmp 0x1001bdd9
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0xdc], 0x80f885bd
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x1001bdc6
push ebx
push ecx
push ecx
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0x80]
push 0x7dbb
push eax
lea ecx, [esp + 0x7c]
call fcn.1001a362
push ebx
lea eax, [esp + 0x88]
mov edx, 0x5b26
push eax
push ebx
mov ecx, 0x8ff
call fcn.1001d2a2
add esp, 0x20
lea ecx, [esp + 0xb4]
push dword [ebp + 0x18]
call fcn.1001d7a2
mov dword [esp + 0x48], eax
lea ecx, [esp + 0xa4]
mov dword [esp + 0x1c], 0xa43d
mov dword [esp + 0x44], ebx
mov dword [esp + 0x14], 0xfffffffa
mov dword [esp + 0x3c], 0xffffffff
mov dword [esp + 0x4c], 0xc4475ee4
push 4
call fcn.10004d6b
mov byte [esp + 0x124], 4
mov dword [esp + 0x5c], 0xb07d0d1d
mov dword [esp + 0x74], 0xeab1
mov dword [esp + 0x10], ebx
jmp 0x1001be92
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xa4]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x1001be80
mov eax, dword [esp + 0x14]
xor ecx, ecx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x14]
neg eax
cmp ecx, eax
mov eax, dword [esp + 0x14]
push 0x1a5d
sbb edx, edx
inc edx
cmp eax, edx
setne cl
mov dword [esp + 0x50], ecx
xor ecx, ecx
mov eax, dword [esp + 0x50]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x48], 0x71865425
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x40]
imul eax, dword [esp + 0x18]
cmp eax, 0xa0c0
mov eax, dword [esp + 0x20]
setne cl
xor edx, edx
cmp eax, ecx
mov eax, dword [esp + 0x20]
setne dl
xor ecx, ecx
cmp edx, eax
lea eax, [esp + 0x50]
setle cl
xor dl, dl
push ecx
push eax
push ecx
lea eax, [esp + 0xb4]
mov dword [esp + 0x6c], ecx
push eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x74]
push eax
lea eax, [esp + 0x58]
push eax
push ecx
lea ecx, [esp + 0x98]
call fcn.10019eea
add esp, 0x24
mov byte [esp + 0x124], bl
lea ecx, [esp + 0xa4]
call fcn.10004dc8
push 0x56f9
push 0x631f
xor ecx, ecx
lea eax, [esp + 0xb8]
inc ecx
push ecx
push 0x7d1b
push 0x2b38
push ebx
push 0x963
push 0x6a04
mov dl, cl
lea ecx, [esp + 0x68]
push eax
call fcn.10019b55
add esp, 0x24
mov dword [esp + 0x14], 0x369b
mov dword [esp + 0x10], 0x1d4595a2
lea ecx, [esp + 0x98]
push 3
call fcn.10004d6b
xor eax, eax
mov byte [esp + 0x124], 5
inc eax
mov dword [esp + 0x1c], 6
mov dword [esp + 0x1c], 0x406c49a7
push eax
lea ecx, [esp + 0x90]
call fcn.10004d6b
xor esi, esi
mov byte [esp + 0x124], 6
mov dword [esp + 0x24], ebx
inc esi
cmp dword [esp + 0x24], 3
jge 0x1001bff5
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x98]
mov dword [eax + ecx*4], esi
inc dword [esp + 0x24]
jmp 0x1001bfda
mov dword [esp + 0x24], ebx
jmp 0x1001c00e
mov eax, dword [esp + 0x24]
mov dword [esp + eax*4 + 0xcc], 0x1e525036
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 4
jl 0x1001bffb
lea eax, [esp + 0x8c]
push eax
push ecx
push 0x2219
push ebx
push 0x1f14
lea ecx, [esp + 0x38]
call fcn.1001b1b4
mov dword [esp + 0x3c], 0x3df9
add esp, 0x14
cmp dword [esp + 0x28], 0x406f
jle 0x1001c0b4
mov esi, ebx
mov edi, ebx
mov ecx, ebx
mov eax, edi
shl eax, cl
lea ecx, [esp + 0x100]
and eax, esi
cdq
push edx
push eax
call fcn.10001ab5
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1001c06c
mov eax, dword [eax]
push eax
call fcn.1004c653
pop ecx
xor eax, eax
lea ecx, [esp + 0x100]
push 0
inc eax
push eax
call fcn.100050bb
inc ebx
cmp ebx, 0x505d
jl 0x1001c04b
inc edi
push 0
pop ebx
cmp edi, 0x7a76
jl 0x1001c04b
inc esi
cmp esi, 0x709d
jl 0x1001c049
push 0x9e9
push ebx
push ebx
push ebx
call dword [sym.imp.GDI32.dll_CombineRgn]
xor esi, esi
inc esi
cmp dword [esp + 0x14], ebx
je 0x1001c121
mov ecx, dword [esp + 0x10]
xor edx, edx
imul ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
cmp ecx, eax
mov eax, dword [esp + 0x14]
setge dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [esp + 0x14]
setne bl
xor ecx, ecx
cmp ebx, eax
mov eax, dword [esp + 0x98]
setle cl
xor edx, edx
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x14]
lea ecx, [edx + 1]
sub ecx, eax
sub ecx, dword [esp + 0x10]
neg ecx
sbb ecx, ecx
xor ebx, ebx
inc ecx
sub ecx, dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x10], 0x18bd
lea eax, [edx + 1]
jne 0x1001c123
mov eax, ebx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xd0]
cmp dword [esp + 0x28], 0x3d31
mov eax, dword [esp + 0x8c]
mov dword [eax], ecx
jge 0x1001c158
push str.sqbftcjaj_hoseiiq_xeiknf_tdj_wdtnijs_gng_nqxl_vhxo_rmwdj_kttlggt_vlkrebqvi_lsd
call fcn.1004c653
pop ecx
lea ecx, [esp + 0x8c]
mov dword [esp + 0x124], 6
call fcn.10004dc8
lea ecx, [esp + 0x98]
mov byte [esp + 0x124], bl
call fcn.10004dc8
mov ecx, dword [ebp + 0x24]
lea eax, [esp + 0xb0]
cmp ecx, eax
je 0x1001c199
push 0xffffffffffffffff
push ebx
push eax
call fcn.100050ff
xor eax, eax
lea ecx, [esp + 0xb0]
push ebx
inc eax
push eax
call fcn.1000522d
jmp 0x1001c20e
test cl, cl
je 0x1001c1d6
mov edx, dword [ebp + 8]
push 2
pop edi
mov dword [edx], 0
cmp dword [edx], edi
jge 0x1001c20e
mov esi, dword [ebp + 0x10]
mov ecx, dword [edx]
mov eax, dword [esi]
mov dword [eax + ecx*4], 0xfffffff6
inc dword [edx]
cmp dword [edx], edi
jl 0x1001c1c3
jmp 0x1001c20e
mov eax, dword [ebp + 0x1c]
cmp byte [eax], 0
je 0x1001c20e
push 0
push 0x38a
push 0x231b
push 0xe3
push 0x730
push 0x444
push 0x14e6
push 0x3d4
push 0xf4f
call dword [sym.imp.GDI32.dll_BitBlt]
mov ecx, dword [esp + 0x11c]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret