Function at 0x10045095
Capabilities:
Log keystrokes

Disassembly:
mov eax, 0x1007417e
call fcn.10072eb8
sub esp, 0x1c4
push ebx
push esi
push edi
xor edi, edi
mov dword [ebp - 0x10], esp
inc edi
mov byte [ebp - 0x3c], dl
mov dword [ebp - 0x18], edi
xor ebx, ebx
mov dword [ebp - 0x20], 0x82d564c7
mov dword [ebp - 0x14], 0x1062
cmp dword [ebp - 0x14], 0x13ea
mov dword [ebp - 0x54], ecx
jle 0x1004512c
mov esi, ebx
mov ecx, ebx
mov dword [ebp - 0x24], ebx
mov eax, esi
mov dword [ebp - 0x20], 0xabd
cdq
idiv ecx
mov dword [ebp - 0x30], edx
mov edi, ebx
mov ebx, dword [ebp - 0x30]
mov eax, ebx
mov ecx, 0x1061aa98
or eax, edi
cdq
push edx
push eax
call fcn.10026e04
inc edi
cmp edi, 0x1d18
jl 0x100450eb
dec ebx
dec dword [ebp - 0x20]
push 0
mov dword [ebp - 0x30], ebx
pop ebx
jne 0x100450e6
mov ecx, dword [ebp - 0x24]
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x1354
jl 0x100450d7
inc esi
cmp esi, 0x7af4
jl 0x100450d2
xor edi, edi
inc edi
mov dword [ebp - 0x28], 0xff4c90eb
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x14], 0xff2
jge 0x1004514e
mov edx, 0x1000ede0
mov ecx, 0x1061aa98
call fcn.10029b1c
or esi, 0xffffffff
mov dword [ebp - 4], esi
mov dword [ebp - 0x24], ebx
jmp 0x1004518e
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x158], 0x83518f4c
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 4
jl 0x1004517d
mov dword [ebp - 0x18], ebx
jmp 0x1004524e
mov dword [ebp - 0x14], ebx
jmp 0x100451af
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x7c], 0xcc24
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x100451a1
mov dword [ebp - 0x14], ebx
jmp 0x100451cb
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1a0], 0xfffffffd
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x100451ba
mov eax, dword [ebp - 0x74]
mov eax, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x74]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x20], 0xffff
mov eax, dword [ebp - 0x78]
mov eax, dword [ebp - 0x78]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x158], eax
cmp dword [ebp - 0x74], ebx
je 0x1004522b
mov eax, dword [ebp - 0x7c]
xor ecx, ecx
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x158], edi
mov eax, dword [ebp - 0x18]
cmp eax, 8
mov eax, edi
setle cl
cmp ecx, dword [ebp - 0x18]
jg 0x1004522d
mov eax, ebx
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
je 0x1004523e
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x28], 0xfffffffb
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jle 0x1004519c
push dword [ebp + 8]
movdqa xmm0, xmmword [0x1000f620]
lea eax, [ebp - 0x164]
push eax
lea eax, [ebp - 0x174]
mov dword [ebp - 0x20], esi
push eax
push ebx
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x88], ebx
movdqu xmmword [ebp - 0x174], xmm0
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x80], ebx
call fcn.1002a512
mov dword [ebp - 0x28], 0xe4a6b2c4
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x2c], 0x9f3c5a4a
mov dword [ebp - 0x24], 0x12d4
mov dword [ebp - 0x14], 0x2a93f045
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x18], ebx
jmp 0x100452ce
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xbc], 9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x100452bd
mov dword [ebp - 0x18], ebx
jmp 0x100452e9
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x130], 3
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x100452d8
mov dword [ebp - 0x18], ebx
jmp 0x10045305
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x120], 0xfffffffd
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x100452f4
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x20]
sub eax, 0x2803
neg eax
sbb eax, eax
inc eax
sub eax, ecx
neg eax
sbb eax, eax
inc eax
cmp eax, ecx
jl 0x10045338
mov eax, dword [ebp - 0x88]
mov ecx, ebx
cmp dword [eax + 0xc], ebx
je 0x1004533a
mov ecx, edi
mov eax, dword [ebp - 0x20]
xor edx, edx
cmp ecx, eax
setle dl
sub edx, dword [ebp - 0x28]
neg edx
sbb edx, edx
inc edx
sub edx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x30]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
sete cl
imul ecx, dword [ebp - 0x114]
cmp ecx, 0xeeda
je 0x10045377
mov eax, edi
cmp dword [ebp - 0x20], ebx
jne 0x10045379
mov eax, ebx
mov ecx, dword [ebp - 0x88]
cmp edi, eax
sbb eax, eax
neg eax
add eax, dword [ecx]
jne 0x10045392
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x88]
mov eax, dword [ecx]
xor edx, edx
cmp eax, edi
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0x30]
sete dl
xor ecx, ecx
cmp edx, eax
setg cl
cmp ecx, 0xffff
ja 0x100453ba
mov edx, ebx
cmp dword [ebp - 0x24], ebx
je 0x100453bc
mov edx, edi
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x118]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x11c]
setne cl
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x118]
cmp ecx, eax
lea ecx, [ebp - 0x88]
setge dl
imul eax, edx, 0xfffe
mov dword [ebp - 0x18], eax
call fcn.100270c6
mov dword [ebp - 0x24], 0x37ea
cmp dword [ebp - 0x24], 0x392f
jle 0x10045486
mov eax, ebx
mov dword [ebp - 0x20], ebx
mov esi, ebx
mov dword [ebp - 0x30], ebx
mov ecx, esi
mov dword [ebp - 0x28], ebx
shl eax, cl
mov esi, ebx
mov dword [ebp - 0x2c], eax
xor eax, esi
lea ecx, [ebp - 0x1cc]
cdq
push edx
push eax
call fcn.10010ade
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10045446
mov eax, dword [eax]
push eax
call fcn.10058cdf
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x1cc]
call fcn.1002779c
mov eax, dword [ebp - 0x2c]
inc esi
cmp esi, 0x967
jl 0x1004542c
mov esi, dword [ebp - 0x30]
mov eax, dword [ebp - 0x20]
inc esi
mov dword [ebp - 0x30], esi
cmp esi, 0x27c3
jl 0x10045420
inc eax
mov dword [ebp - 0x20], eax
cmp eax, 0x69ae
jl 0x1004541b
or esi, 0xffffffff
cmp dword [ebp - 0x24], 0x3689
jge 0x1004549a
push 0x1000ee6c
call fcn.10058cdf
pop ecx
mov dword [ebp - 4], esi
mov dword [ebp - 0x20], esi
push 2
mov dword [ebp - 0x30], 0xe7374489
mov dword [ebp - 0x14], ebx
pop ecx
jmp 0x100454bd
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x44], 0xfffffffd
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x100454af
mov dword [ebp - 0x14], ebx
jmp 0x100454d8
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x13c], 0x714ba09
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x100454c7
inc dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
imul eax, dword [ebp - 0x44], 0x2c5b
test eax, eax
je 0x100454f4
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
cmp esi, eax
sbb eax, eax
neg eax
cmp eax, esi
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x44]
je 0x10045511
mov edx, ebx
cmp dword [ebp - 0x20], ebx
je 0x10045513
mov edx, edi
mov eax, dword [ebp - 0x44]
xor ecx, ecx
cmp edx, eax
push 3
setne cl
mov dword [ebp - 0x30], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x44]
cmp eax, edi
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
setge cl
add edx, ecx
xor ecx, ecx
neg edx
cmp edx, eax
mov eax, dword [0x1007965c]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 8]
setg cl
mov dword [ebp - 0x13c], ecx
lea ecx, [ebp - 0x110]
mov dword [ebp - 0x20], esi
pop esi
mov dword [ebp - 0x14], ebx
push esi
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
call fcn.10027044
mov dword [ebp - 0x18], 0x9f361739
mov dword [ebp - 0x28], 0xfffffffd
mov dword [ebp - 0x24], ebx
jmp 0x1004559a
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x110]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x1004558b
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x100455b3
push 0x1bb3
call dword [sym.imp.GDI32.dll_UpdateColors]
mov eax, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], 0xfffffff6
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x110]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x14]
dec dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp eax, 0x6de6b933
mov eax, dword [ebp - 0x20]
setne dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x28], ecx
lea ecx, [ebp - 0x110]
call fcn.100270c6
cmp byte [ebp - 0x3c], 0
je 0x1004569c
cmp dword [ebp - 0x30], edi
jne 0x1004569c
mov dword [ebp - 0x28], 0xe307b5ca
mov dword [ebp - 0x24], ebx
jmp 0x1004562c
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xa8], edi
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x1004561f
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10045663
push 0xafe
push 0x139
push 0x12b6
push 0x1523
push 0x2129
push 0x8b5
push 0x123c
call dword [sym.imp.GDI32.dll_RoundRect]
mov dword [ebp - 0xa0], 0xf
jmp 0x10045682
mov dword [ebp - 0x28], 0xca2961c0
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
dec dword [ebp - 0xa0]
cmp dword [ebp - 0xa0], 0xffffffe5
je 0x1004566f
mov eax, dword [ebp + 8]
mov dword [eax + 8], 4
mov dword [eax + 0xc], 0x1007965c
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x20], 2
mov dword [ebp - 0x14], 0x50faeb38
mov dword [ebp - 0x24], 0xffffffea
jmp 0x10045724
mov dword [ebp - 0x28], 0x3717be9f
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x18], ebx
jmp 0x100456d6
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xd4], 0xfffffffd
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x100456c5
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov eax, dword [ebp - 0xd4]
cmp eax, 0xf5fa
setg cl
mov dword [ebp - 0x20], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0xd4]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xd4]
cmp eax, edi
setle cl
neg ecx
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x12
jg 0x100456b6
push 8
pop esi
mov dword [ebp - 0x14], esi
jmp 0x10045747
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10045744
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_AttachThreadInput]
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jge 0x10045732
mov eax, dword [ebp - 0x54]
cmp eax, dword [ebp - 0x30]
jge 0x1004601b
mov dword [ebp - 0x24], 0xfffffffb
mov dword [ebp - 0x28], 0x4c5530c4
cmp dword [ebp - 0x24], ebx
jne 0x10045776
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
jmp 0x100457f0
mov dword [ebp - 0x20], 0xf3d3
mov dword [ebp - 0x14], 0xd5493e6
mov dword [ebp - 0x28], 0x9ba87a5e
mov dword [ebp - 0x14], ebx
jmp 0x100457a1
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x194], 0xc13fe662
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10045790
mov eax, dword [ebp - 0x20]
xor edx, edx
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
setge dl
xor eax, eax
cmp edx, edi
setg al
xor ecx, ecx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x28], eax
setg cl
cmp dword [ebp - 0x190], ecx
jne 0x100457de
mov ecx, ebx
cmp dword [ebp - 0x20], ebx
je 0x100457e0
mov ecx, edi
xor eax, eax
test ecx, ecx
setns al
sub eax, dword [ebp - 0x24]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x28], eax
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1004580a
push ebx
push ebx
push 0xa22
push ebx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp dword [ebp - 0x54], 0
mov esi, 0x10079660
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x28], ebx
jle 0x10045e2f
mov dword [ebp - 0x34], 0xfffffffd
lea ecx, [ebp - 0x148]
mov dword [ebp - 0x34], 0x57102d14
mov dword [ebp - 0x34], 9
mov dword [ebp - 0x34], 0xfffffffa
mov dword [ebp - 0x34], 0x46b
push edi
call fcn.10027044
mov dword [ebp - 0x20], 0xd1af
mov dword [ebp - 0x24], ebx
jmp 0x1004586d
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x148]
mov dword [eax + ecx*4], 0xd952eaa2
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x1004585a
inc dword [ebp - 0x20]
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10045894
push ebx
push 0x1977
push 0x38f
push 0x1773
call dword [sym.imp.GDI32.dll_GetCharABCWidthsW]
lea ecx, [ebp - 0x148]
call fcn.100270c6
mov eax, dword [esi]
lea ecx, [ebp - 0xf8]
add esi, 4
mov dword [ebp - 0x34], eax
push 2
mov dword [ebp - 0x24], esi
call fcn.10027044
mov dword [ebp - 4], 4
lea ecx, [ebp - 0xe0]
mov dword [ebp - 0x14], 0xfffffff8
push 3
call fcn.10027044
push 2
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 5
call fcn.10027044
mov byte [ebp - 4], 6
mov dword [ebp - 0x18], ebx
jmp 0x100458ff
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xf8]
mov dword [eax + ecx*4], 7
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x100458ec
mov dword [ebp - 0x18], ebx
jmp 0x1004591d
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xe0]
mov dword [eax + ecx*4], 0xb400
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1004590a
mov dword [ebp - 0x18], ebx
jmp 0x1004593b
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xec]
mov dword [eax + ecx*4], 0x42f2aa78
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10045928
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x20], eax
mov dword [eax + 4], ebx
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x38], eax
push 2
lea ecx, [ebp - 0xc8]
call fcn.10027044
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0x2c], 0xfd8f2714
mov dword [ebp - 0xac], 0x716e
mov dword [ebp - 0x9c], 0xb4e3
push 3
call fcn.10027044
mov dword [ebp - 0x18], ebx
jmp 0x100459ab
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x50], 5
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x1004599d
mov dword [ebp - 0x18], ebx
jmp 0x100459c5
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc8]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x100459b5
mov dword [ebp - 0x18], ebx
jmp 0x100459e3
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xb8]
mov dword [eax + ecx*4], 0x914be495
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x100459d0
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x18], ecx
cmp eax, dword [ecx + 4]
jle 0x10045a01
mov eax, edi
cmp dword [ebp - 0x2c], ebx
jne 0x10045a03
mov eax, ebx
mov ecx, dword [ebp - 0x20]
xor edx, edx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0xac]
mov eax, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ecx + 4]
cmp ecx, dword [eax]
mov eax, dword [ebp - 0xb8]
setne dl
cmp edx, 0xfffa
sbb ecx, ecx
neg ecx
cmp ecx, dword [eax]
jg 0x10045a46
mov eax, edi
cmp dword [ebp - 0x14], ebx
jne 0x10045a48
mov eax, ebx
mov ecx, dword [ebp - 0x58]
mov dword [ecx + 4], eax
cmp eax, 0xe85c68ab
je 0x10045a5f
mov eax, dword [ebp - 0x20]
cmp dword [eax + 4], ebx
mov eax, edi
jne 0x10045a61
mov eax, ebx
mov ecx, dword [ebp - 0x38]
cmp eax, dword [ecx + 4]
je 0x10045a71
mov eax, dword [ebp - 0x18]
cmp dword [eax + 4], ebx
jmp 0x10045a74
cmp dword [ebp - 0x50], ebx
lea ecx, [ebp - 0xb8]
jne 0x10045aa2
call fcn.100270c6
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 6
call fcn.100270c6
mov eax, dword [ebp - 0x20]
dec dword [eax + 4]
cmp dword [eax + 4], 0xfffffffd
jg 0x1004595f
jmp 0x10045ab2
call fcn.100270c6
lea ecx, [ebp - 0xc8]
call fcn.100270c6
lea ecx, [ebp - 0xec]
call fcn.100270c6
lea ecx, [ebp - 0xe0]
call fcn.100270c6
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xf8]
call fcn.100270c6
mov eax, dword [esi]
lea ecx, [ebp - 0x104]
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], 0xe7ad53a3
mov dword [ebp - 0x20], 9
mov dword [ebp - 0x38], 0x22354120
mov dword [ebp - 0x38], 0xfffffffe
mov dword [ebp - 0x14], 0xf33bc6c2
push 4
mov dword [ebp - 0x58], eax
call fcn.10027044
push 8
pop eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x14], ebx
jmp 0x10045b2b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x60], 0x57863718
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10045b1d
mov dword [ebp - 0x14], ebx
jmp 0x10045b49
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x104]
mov dword [eax + ecx*4], 0xfff6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10045b36
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x14], edi
cmp dword [ebp - 0x14], ebx
jne 0x10045b60
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x60]
xor edx, edx
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setle dl
xor ecx, ecx
sub eax, edx
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x18]
setl cl
xor edx, edx
cmp ecx, eax
setne dl
sub esi, 0xfffffff6
neg esi
sbb esi, esi
xor ecx, ecx
inc esi
sub esi, edx
add esi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
cmp esi, eax
setl cl
cmp ecx, dword [ebp - 0x20]
jg 0x10045bab
cmp dword [ebp - 0x60], ebx
je 0x10045bab
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2c], ebx
or esi, 0xffffffff
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x20], 4
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x18], ebx
jmp 0x10045c88
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10045bd6
push ebx
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov dword [ebp - 0x14], edi
cmp dword [ebp - 0x14], ebx
jl 0x10045c85
push dword [ebp + 8]
movdqa xmm0, xmmword [0x1000f650]
lea eax, [ebp - 0x174]
push eax
lea eax, [ebp - 0x184]
mov dword [ebp - 0x94], ebx
push eax
push ebx
lea ecx, [ebp - 0x94]
mov dword [ebp - 0x90], ebx
movdqu xmmword [ebp - 0x184], xmm0
mov dword [ebp - 0x8c], ebx
call fcn.1002a512
mov dword [ebp - 0x38], 0x3fd90538
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x60], 3
jb 0x10045c6e
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x60]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x94]
mov dword [eax + 4], ecx
cmp dword [ebp - 0x20], ebx
je 0x10045c66
mov eax, dword [ebp - 0x94]
cmp dword [eax + 0xc], ebx
mov eax, edi
jne 0x10045c68
mov eax, ebx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x38], ebx
lea ecx, [ebp - 0x94]
call fcn.100270c6
dec dword [ebp - 0x14]
jns 0x10045be2
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jle 0x10045bc6
mov eax, dword [ebp - 0x104]
inc dword [eax + 0xc]
mov dword [ebp - 0x14], ebx
jmp 0x10045cb2
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10045caf
push ebx
call dword [sym.imp.GDI32.dll_DeleteObject]
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffe6
je 0x10045c9f
lea ecx, [ebp - 0x104]
mov dword [ebp - 4], esi
call fcn.100270c6
mov esi, dword [ebp - 0x24]
add esi, 4
or ecx, 0xffffffff
mov dword [ebp - 0x20], ecx
push 2
mov dword [ebp - 0x2c], 0xe7374489
mov dword [ebp - 0x14], ebx
pop edx
jmp 0x10045cef
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x4c], 0xfffffffd
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x10045ce1
mov dword [ebp - 0x14], ebx
jmp 0x10045d0a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x128], 0x714ba09
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x10045cf9
inc dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
imul eax, dword [ebp - 0x4c], 0x2c5b
test eax, eax
je 0x10045d26
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
cmp ecx, eax
sbb eax, eax
neg eax
cmp eax, ecx
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x4c]
je 0x10045d43
mov edx, ebx
cmp dword [ebp - 0x20], ebx
je 0x10045d45
mov edx, edi
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x2c], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x4c]
cmp eax, edi
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
setge cl
add edx, ecx
xor ecx, ecx
neg edx
cmp edx, eax
setg cl
cmp dword [ebp - 0x58], 0
mov dword [ebp - 0x128], ecx
jne 0x10045d88
add esi, 8
mov dword [ebp - 0x38], 0xbeaa32b1
lea ecx, [ebp - 0x164]
mov dword [ebp - 0x38], 0xfffffffb
mov dword [ebp - 0x38], 0xebb6748f
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x38], 6
push 3
call fcn.10027044
mov dword [ebp - 0x38], 0x2b483718
mov dword [ebp - 0x2c], 0xfffffffd
mov dword [ebp - 0x14], ebx
jmp 0x10045dda
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x164]
mov dword [eax + ecx*4], 0x9dd952ea
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10045dc7
mov dword [ebp - 0x14], ebx
jmp 0x10045df6
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1a8], 0x434392f2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10045de5
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10045e0b
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
dec dword [ebp - 0x2c]
lea ecx, [ebp - 0x164]
call fcn.100270c6
add esi, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x28], eax
cmp eax, dword [ebp - 0x54]
jl 0x1004581f
mov esi, dword [esi]
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
mov eax, dword [eax]
mov dword [ebp - 0x18], 0xb0647dc4
mov dword [ebp - 0x14], 0xa1245c81
mov dword [ebp - 0x28], 0x32f3f608
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x34], 0xea4c5706
mov dword [ebp - 0x34], 0xc3f30b9
mov dword [ebp - 0x34], 0xf15cc7c4
mov dword [ebp - 0x34], 2
mov dword [ebp - 0x34], 0xbebf3b8c
mov dword [ebp - 0x2c], 0x23c5ad05
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x20], ebx
jmp 0x10045e97
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x1b4], 0xffffffff
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x10045e86
mov eax, dword [ebp - 0x18]
xor edx, edx
mov ecx, dword [ebp - 0x14]
imul ecx, dword [ebp - 0x18]
imul ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
mov eax, dword [ebp - 0x14]
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
sub ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x34], ecx
xor ecx, ecx
cmp dword [ebp - 0x34], eax
setl cl
mov dword [ebp - 0x28], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x28]
cmp eax, 0x710dd01
mov eax, dword [ebp - 0x14]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setl dl
xor ecx, ecx
cmp edx, eax
setle cl
xor edx, edx
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setle dl
sub edx, 0x2850d366
je 0x10045f38
mov dword [ebp - 0x28], 0x2894ff54
inc dword [ebp - 0x28]
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10045f47
push ebx
push ebx
push 0x7d0
push 0x1eac
push 0xf6b
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
jmp 0x10045f47
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10045f47
call dword [sym.imp.USER32.dll_ReleaseCapture]
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x38], 0
mov ecx, dword [ebp - 0x24]
jne 0x1004601b
cmp byte [ebp - 0x3c], 0
je 0x10045f6b
cmp dword [ebp - 0x30], edi
jne 0x10045f6b
mov edx, dword [ebp + 8]
lea eax, [esi + 0x10]
add dword [edx + 8], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x28], eax
mov eax, dword [ecx + 8]
add ecx, 0xc
push esi
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x24], ecx
call fcn.100577c6
pop ecx
mov dword [ebp - 0x30], eax
lea ecx, [ebp - 0x6c]
lea eax, [ebp - 0x98]
mov dword [ebp - 0x98], ebx
push eax
push esi
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x64], ebx
call fcn.10049a83
mov ecx, dword [ebp - 0x6c]
mov edx, ebx
mov dword [ebp - 0x2c], edx
test esi, esi
jle 0x10045ffc
mov eax, edx
and eax, 0x80000001
jns 0x10045fc0
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
and eax, dword [ebp - 0x28]
add eax, edx
add eax, dword [ebp - 0x28]
imul eax, dword [ebp - 0x34]
jmp 0x10045fd5
lea eax, [edx + 1]
cdq
idiv esi
cmp word [ecx + edx*2], bx
jne 0x10045fd2
mov eax, dword [ebp - 0x24]
mov word [ecx + edx*2], di
mov ecx, dword [ebp - 0x30]
mov al, byte [edx + eax]
mov edx, dword [ebp - 0x2c]
mov byte [edx + ecx], al
inc edx
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x2c], edx
cmp edx, esi
jl 0x10045fb2
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x30]
mov dword [edx], esi
mov dword [edx + 4], eax
test ecx, ecx
je 0x1004601b
push ecx
call fcn.10058e47
pop ecx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x20], ebx
jmp 0x1004602d
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x134], edi
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x10046020
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1004604c
push 0x1303
push 0x9fa
push ebx
call dword [sym.imp.USER32.dll_EnableMenuItem]
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10046061
push ebx
push 0xb3e
call dword [sym.imp.KERNEL32.dll_GetCPInfo]
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret