Function at 0x10042887
Capabilities:
Get disk information
Log keystrokes via polling
Query or enumerate registry key

Disassembly:
mov eax, 0x10062b88
call fcn.10061850
sub esp, 0x2ac
mov dword [ebp - 0x58], ecx
push ebx
mov dword [ebp - 0x24], 0x5b8b78ac
mov dword [ebp - 0x34], 0x364d64ea
push esi
mov dword [ebp - 0x14], 0x2a0f
cmp dword [ebp - 0x14], 0x2c52
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x44], edx
jle 0x10042945
push 0x1dd
call dword [sym.imp.USER32.dll_GetKeyState]
xor ebx, ebx
xor esi, esi
mov dword [ebp - 0x30], ebx
inc esi
mov edi, ebx
mov dword [ebp - 0x28], ebx
mov eax, edi
mov dword [ebp - 0x2c], 0xc46
mov edi, dword [ebp - 0x30]
mov dword [ebp - 0x20], eax
xor eax, edi
lea ecx, [ebp - 0x218]
cdq
push edx
push eax
call fcn.1000cefe
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10042906
mov eax, dword [eax]
push eax
call fcn.1004c59f
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x218]
call fcn.1001113e
mov eax, dword [ebp - 0x20]
dec eax
dec dword [ebp - 0x2c]
mov dword [ebp - 0x20], eax
jne 0x100428ec
mov edi, dword [ebp - 0x28]
inc edi
mov dword [ebp - 0x28], edi
cmp edi, 0x6506
jl 0x100428dd
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp eax, 0xc35
jl 0x100428d8
jmp 0x1004294a
xor esi, esi
xor ebx, ebx
inc esi
mov dword [ebp - 0x40], 0x1b40e11a
cmp dword [ebp - 0x14], 0x289a
jge 0x10042965
push 0x1000b338
call fcn.1004c59f
pop ecx
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x2c], 0x2da3c3d
mov dword [ebp - 0x38], 0xccd20446
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0xe4], esi
mov dword [ebp - 0xe0], esi
mov dword [ebp - 0xdc], esi
mov dword [ebp - 0xd8], esi
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x1c], 0x6ef6f0c3
mov dword [ebp - 0x3c], 0xfffffff9
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x28], 0x70bb
mov dword [ebp - 0x30], 0xdb1a73b0
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x2c], ebx
jmp 0x100429ca
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x5c], esi
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jl 0x100429c0
mov dword [ebp - 0x2c], 0x6c1d
cmp dword [ebp - 0x2c], 0x6cd5
jle 0x10042a09
mov edi, ebx
mov esi, ebx
mov eax, esi
mov ecx, 0x1060aeb8
and eax, edi
cdq
push edx
push eax
call fcn.10010996
inc esi
cmp esi, 0x67d4
jl 0x100429e3
inc edi
cmp edi, 0x593a
jl 0x100429e1
xor esi, esi
inc esi
cmp dword [ebp - 0x24], ebx
jne 0x10042a1d
inc dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0xe4]
xor edx, edx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x5c]
imul ecx, eax, 0xfffffffd
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov eax, dword [ebp - 0xe4]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setl cl
sub ecx, eax
cmp ecx, dword [ebp - 0x20]
jle 0x10042a5c
mov eax, dword [ebp - 0xe4]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
push 7
pop ecx
sub ecx, eax
add ecx, dword [ebp - 0xe4]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 4], 2
cmp dword [ebp - 0x2c], 0x6a2f
jge 0x10042a8f
mov edx, 0x1000b388
mov ecx, 0x1060aeb8
call fcn.100132ba
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x2c], 0xc
jmp 0x10042adf
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x10042adc
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x30f
push ebx
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xffffffe8
jne 0x10042ac1
push 2
lea ecx, [ebp - 0x78]
call fcn.10010bbe
mov dword [ebp - 4], 4
mov dword [ebp - 0x14], 0x72c5
cmp dword [ebp - 0x14], 0x7622
jle 0x10042b92
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x28], ebx
mov ecx, ebx
mov dword [ebp - 0x2c], 0x7382
mov dword [ebp - 0x30], ecx
mov edi, dword [ebp - 0x24]
mov eax, ebx
mov dword [ebp - 0x20], eax
add ecx, eax
mov eax, edi
shl eax, cl
lea ecx, [ebp - 0x260]
cdq
push edx
push eax
call fcn.1000cefe
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10042b42
mov eax, dword [eax]
push eax
call fcn.1004c59f
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x260]
call fcn.1001113e
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x20], eax
cmp eax, 0x6b52
jl 0x10042b24
mov edi, dword [ebp - 0x28]
add ecx, edi
dec dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
jne 0x10042b1c
inc edi
mov dword [ebp - 0x28], edi
cmp edi, 0x531
jl 0x10042b10
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x932
jl 0x10042b0d
mov dword [ebp - 0x30], 0x5fa2ef70
cmp dword [ebp - 0x14], 0x70d9
jge 0x10042bad
push 0x1000b400
call fcn.1004c59f
pop ecx
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x150]
mov dword [ebp - 0x24], 0xfffffff7
mov dword [ebp - 0x2c], 9
push 2
call fcn.10010bbe
mov dword [ebp - 0x14], ebx
jmp 0x10042be4
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x78]
mov dword [eax + ecx*4], 0xfff6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10042bd4
mov dword [ebp - 0x14], ebx
jmp 0x10042c02
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x150]
mov dword [eax + ecx*4], 0xfffffffc
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10042bef
mov ecx, dword [ebp - 0x78]
cmp dword [ecx], ebx
jne 0x10042c1c
mov dword [ebp - 0x30], 0x42206dd2
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x78]
mov eax, esi
sub eax, dword [ecx]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov edi, dword [ebp - 0x150]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
cmp eax, dword [edi + 4]
jge 0x10042c3e
mov ecx, ebx
cmp dword [ebp - 0x2c], ebx
je 0x10042c40
mov ecx, esi
xor eax, eax
cmp ecx, 0xfffffffd
setne al
xor ecx, ecx
cmp eax, dword [edi + 4]
mov eax, dword [ebp - 0x78]
setge cl
imul ecx, dword [eax]
test ecx, ecx
je 0x10042c5d
mov eax, dword [ebp - 0x24]
imul eax, dword [edi + 4], 0x69c9
test eax, eax
je 0x10042c6f
mov eax, esi
cmp dword [ebp - 0x30], ebx
jne 0x10042c71
mov eax, ebx
mov ecx, dword [ebp - 0x78]
xor edx, edx
cmp eax, dword [ecx]
setle dl
xor eax, eax
cmp edx, dword [ecx + 4]
lea ecx, [ebp - 0x150]
setle al
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [edi + 4], eax
call fcn.10010c40
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x78]
call fcn.10010c40
mov eax, dword [0x1060c060]
test al, 1
jne 0x10042d40
or eax, esi
mov dword [0x1060c060], eax
push 7
pop edi
push ebx
mov dword [ebp - 4], edi
push ebx
mov dword [0x1060c070], ebx
mov dword [0x1060c074], ebx
call fcn.100131ba
mov dword [0x1060c070], eax
mov dword [0x1060c078], ebx
mov dword [0x1060c080], ebx
mov byte [ebp - 4], 9
mov ecx, 0x1060c078
mov dword [ebp - 0xd0], eax
lea eax, [ebp - 0xd0]
push eax
push 0x10
push ebx
lea eax, [ebp - 0x1dc]
mov dword [0x1060c08c], 0x3f800000
push eax
mov dword [0x1060c07c], ebx
call fcn.10012f92
push 0x10062f3c
mov dword [0x1060c084], edi
mov dword [0x1060c088], 8
call fcn.1004c575
or dword [ebp - 4], 0xffffffff
pop ecx
imul eax, dword [ebp - 0x58], 0x2710
lea ecx, [ebp - 0x1c0]
push esi
add eax, dword [ebp - 0x44]
mov dword [ebp - 0x64], eax
call fcn.10010bbe
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x1c], ebx
jmp 0x10042d76
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1e8], 0xfffffffe
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10042d65
mov dword [ebp - 0x30], 0x1e85
cmp dword [ebp - 0x30], 0x21c5
jle 0x10042dda
push ebx
push 0x7d1
push ebx
push 0x22e6
call dword [sym.imp.USER32.dll_SetTimer]
mov esi, ebx
mov edi, ebx
mov dword [ebp - 0x40], ebx
mov ecx, ebx
lea eax, [edi + esi]
shl eax, cl
mov ecx, 0x1060aeb8
cdq
push edx
push eax
call fcn.10010996
inc ebx
cmp ebx, 0x5f65
jl 0x10042da5
inc edi
push 0
pop ebx
cmp edi, 0x598f
jl 0x10042da2
inc esi
cmp esi, 0x2fc8
jl 0x10042da0
xor esi, esi
inc esi
mov dword [ebp - 0x1c], ebx
jmp 0x10042ded
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x50], 0xe1d925b0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10042ddf
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x30], 0x1e1a
jge 0x10042e2f
mov edx, 0x1000b45c
mov ecx, 0x1060aeb8
call fcn.100132ba
jmp 0x10042e2f
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x2c], 0x56d1
cmp dword [ebp - 0x2c], 0x5729
jle 0x10042eb2
push ebx
call dword [sym.imp.USER32.dll_RegisterWindowMessageW]
mov eax, ebx
mov dword [ebp - 0x24], ebx
mov edi, ebx
mov ecx, ebx
mov dword [ebp - 0x20], 0x6645
mov dword [ebp - 0x30], ecx
shl eax, cl
lea ecx, [ebp - 0x230]
cdq
push edx
push eax
call fcn.1000cefe
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10042e7a
mov eax, dword [eax]
push eax
call fcn.1004c59f
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x230]
call fcn.1001113e
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x24]
add ecx, edi
dec dword [ebp - 0x20]
mov dword [ebp - 0x30], ecx
jne 0x10042e60
inc edi
cmp edi, 0x539d
jl 0x10042e54
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x5147
jl 0x10042e52
mov dword [ebp - 0x1c], ebx
jmp 0x10042ec7
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c0]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10042eb7
cmp dword [ebp - 0x2c], 0x5527
jge 0x10042ee0
push 0x1000b46c
call fcn.1004c59f
pop ecx
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x10042ef5
push ebx
push 0x254e
call dword [sym.imp.GDI32.dll_CreateHatchBrush]
mov dword [ebp - 0x50], ebx
jmp 0x10042f5a
mov dword [ebp - 0x2c], 0x2e5664dc
mov dword [ebp - 0x2c], ebx
jmp 0x10042f52
mov eax, dword [ebp - 0x50]
cmp dword [ebp + eax*4 - 0x1e8], ebx
mov byte [ebp - 0x15], bl
je 0x10042f25
cmp byte [ebp - 0x15], 0
je 0x10042f4f
push ebx
push ebx
call dword [sym.imp.USER32.dll_CopyRect]
jmp 0x10042f4f
cmp byte [ebp - 0x15], 0
je 0x10042f32
push ebx
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x10042f4f
push 0x1590
push ebx
push ebx
push ebx
push 0x2545
push ebx
call dword [sym.imp.KERNEL32.dll_GetDateFormatW]
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jle 0x10042f06
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], esi
jle 0x10042efa
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c0]
call fcn.10010c40
lea eax, [ebp - 0x64]
push eax
call fcn.100446fd
push 3
lea ecx, [ebp - 0x168]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
call fcn.10010bbe
push 8
mov dword [ebp - 4], 0xf
pop edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x14], ebx
jmp 0x10042fae
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x168]
mov dword [eax + ecx*4], 0xe9d05ba7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10042f9b
mov dword [ebp - 0x14], ebx
jmp 0x10042fc7
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x80], 0x2a83a0f0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10042fb9
mov dword [ebp - 0x14], 0x969161d5
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0x80], esi
cmp dword [eax], esi
je 0x10043003
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1004310d
push ebx
push 0x17c6
push ebx
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
jmp 0x1004310d
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], esi
jg 0x1004310a
push 3
lea ecx, [ebp - 0x180]
call fcn.10010bbe
mov byte [ebp - 4], 0x10
mov dword [ebp - 0x28], 0x5d4f
cmp dword [ebp - 0x28], 0x6134
jle 0x10043095
mov edx, ebx
mov dword [ebp - 0x24], ebx
mov ecx, ebx
mov dword [ebp - 0x20], ebx
mov edi, ebx
mov eax, edi
xor eax, ecx
lea ecx, [ebp - 0x248]
xor eax, edx
cdq
push edx
push eax
call fcn.1000cefe
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1004305a
mov eax, dword [eax]
push eax
call fcn.1004c59f
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x248]
call fcn.1001113e
mov ecx, dword [ebp - 0x20]
inc edi
mov edx, dword [ebp - 0x24]
cmp edi, 0x303b
jl 0x1004303c
inc ecx
mov dword [ebp - 0x20], ecx
cmp ecx, 0x64b8
jl 0x1004303a
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 0xf40
jl 0x10043035
mov dword [ebp - 0x2c], ebx
jmp 0x100430ad
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x180]
mov dword [eax + ecx*4], 2
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 3
jl 0x1004309a
cmp dword [ebp - 0x28], 0x5a8c
jge 0x100430c7
push 0x1000b4a0
call fcn.1004c59f
pop ecx
mov dword [ebp - 4], 0x10
mov ecx, dword [ebp - 0x180]
mov dword [ecx + 4], ebx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x80]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x80], ebx
jne 0x100430f3
inc dword [ecx + 4]
cmp dword [ecx + 4], 2
jle 0x100430d7
lea ecx, [ebp - 0x180]
mov byte [ebp - 4], 0xf
call fcn.10010c40
inc dword [ebp - 0x14]
jmp 0x10043006
push 8
pop edi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x168]
call fcn.10010c40
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x100432f4
push 0x13
mov dword [ebp - 0x1c], 0xfffffffc
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0x1c], 0xffffffeb
pop edi
cmp dword [ebp - 0x1c], 3
jge 0x100432e9
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x20], 0xfffffff8
cmp dword [ebp - 0x20], edi
jle 0x100432e1
push esi
lea ecx, [ebp - 0x198]
call fcn.10010bbe
mov dword [ebp - 4], edi
mov dword [ebp - 0x14], 0xfffffffc
mov dword [ebp - 0x2c], ebx
jmp 0x10043189
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x198]
mov dword [eax + ecx*4], 0x70cd5099
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jl 0x10043176
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], ebx
jg 0x100432ca
mov dword [ebp - 0x2c], 0xffffffff
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100431b3
push ebx
push ebx
push ebx
call dword [sym.imp.OLEAUT32.dll_SysStringByteLen]
mov dword [ebp - 0x34], 0x1092
cmp dword [ebp - 0x34], 0x13df
jle 0x10043240
mov eax, ebx
mov dword [ebp - 0x24], ebx
mov edi, ebx
cdq
idiv edi
mov dword [ebp - 0x28], 0x68
mov ecx, edx
mov dword [ebp - 0x30], ecx
mov eax, ebx
mov dword [ebp - 0x2c], ebx
and eax, ecx
lea ecx, [ebp - 0x278]
cdq
push edx
push eax
call fcn.1000cefe
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100431f8
mov eax, dword [eax]
push eax
call fcn.1004c59f
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x278]
call fcn.1001113e
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x7b89
jl 0x100431de
dec ecx
dec dword [ebp - 0x28]
mov dword [ebp - 0x30], ecx
jne 0x100431d9
mov eax, dword [ebp - 0x24]
inc edi
cmp edi, 0x459
jl 0x100431ca
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x2653
jl 0x100431c8
push 0x13
pop edi
mov dword [ebp - 0x2c], ebx
jmp 0x100432a6
mov dword [ebp - 0x28], 0x38591b68
mov dword [ebp - 0x28], ebx
jmp 0x1004329e
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x40], ebx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x198]
cmp dword [eax + ecx*4], ebx
jne 0x100432a3
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
cmp eax, esi
mov eax, dword [ebp - 0x28]
setle cl
xor edx, edx
cmp ecx, eax
setge dl
imul edx, dword [ebp - 0x2c]
add edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0x40], edx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
jle 0x10043251
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jle 0x10043245
cmp dword [ebp - 0x34], 0x107b
jge 0x100432bf
push 0x1000b4e8
call fcn.1004c59f
pop ecx
mov dword [ebp - 4], edi
inc dword [ebp - 0x14]
jmp 0x10043191
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x198]
call fcn.10010c40
inc dword [ebp - 0x20]
jmp 0x10043152
inc dword [ebp - 0x1c]
jmp 0x1004313e
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
jmp 0x10044610
mov eax, dword [0x1060c060]
test al, 2
jne 0x10043388
or eax, 2
mov dword [0x1060c060], eax
push ebx
mov dword [ebp - 4], 0x16
push ebx
mov dword [0x1060c040], ebx
mov dword [0x1060c044], ebx
call fcn.100131ba
mov dword [0x1060c040], eax
mov dword [0x1060c048], ebx
mov dword [0x1060c050], ebx
mov byte [ebp - 4], 0x18
mov ecx, 0x1060c048
mov dword [ebp - 0xf8], eax
lea eax, [ebp - 0xf8]
push eax
push 0x10
push ebx
lea eax, [ebp - 0x1e0]
mov dword [0x1060c05c], 0x3f800000
push eax
mov dword [0x1060c04c], ebx
call fcn.10012f92
push 0x10062f37
mov dword [0x1060c054], 7
mov dword [0x1060c058], edi
call fcn.1004c575
or dword [ebp - 4], 0xffffffff
pop ecx
lea eax, [ebp - 0x58]
xorps xmm0, xmm0
push eax
movdqu xmmword [ebp - 0x90], xmm0
call fcn.1004475f
mov edx, dword [eax]
mov dword [ebp - 0x20], 9
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x20], ebx
jmp 0x100433c1
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x200], 0x64a6847d
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x100433b0
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100433da
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x20], 2
cmp dword [ebp - 0x20], ebx
jl 0x100433f7
mov eax, dword [ebp - 0x20]
cmp dword [ebp + eax*4 - 0x200], ebx
jne 0x100433f7
dec dword [ebp - 0x20]
jns 0x100433e6
mov cl, byte [ebp + 0xc]
test cl, cl
jne 0x10043406
test edx, edx
jne 0x10043636
mov dword [ebp - 0x20], 0xce125d16
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x20], ebx
jmp 0x10043422
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x1b4], edi
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x10043415
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1004344a
push ebx
push ebx
push 0x1cd8
push 0xb9c
push 0x200c
call dword [sym.imp.USER32.dll_ScrollWindow]
mov cl, byte [ebp + 0xc]
mov dword [ebp - 0x20], ebx
jmp 0x1004346d
mov dword [ebp - 0x24], 0xfffffff7
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], ebx
jl 0x1004346a
mov dword [ebp - 0x40], 0xfffffff8
dec dword [ebp - 0x24]
jns 0x1004345e
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jle 0x1004344f
lea eax, [ebp - 0x2b8]
mov dl, cl
mov ecx, dword [ebp - 0x58]
push eax
call fcn.10036e81
mov esi, eax
lea edi, [ebp - 0x90]
pop ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor esi, esi
mov dword [ebp - 0x20], 0xe0a8eac8
inc esi
mov dword [ebp - 0x3c], esi
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100434b7
push 0x4d7
push 0x260c
push ebx
call dword [sym.imp.USER32.dll_InflateRect]
mov dword [ebp - 0x20], 0xf
jmp 0x100434d9
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100434d6
push ebx
push 0x2ab
push ebx
call dword [sym.imp.GDI32.dll_GetBitmapBits]
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffffd
jl 0x100434c0
cmp byte [ebp + 0xc], 0
je 0x10043636
cmp dword [ebp - 0x88], 0
je 0x10043636
mov eax, dword [ebp - 0x84]
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0x28], 0x6de713a4
push 4
mov dword [ebp - 0xc8], eax
call fcn.10010bbe
mov dword [ebp - 0x1c], 0xc9fa8bc0
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x14], ebx
jmp 0x1004353f
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xf0]
mov dword [eax + ecx*4], 0x3c61c71b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1004352c
mov dword [ebp - 0x14], ebx
jmp 0x1004355b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1cc], 7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1004354a
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov edi, dword [ebp - 0xf0]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
cmp eax, 0x9dad
setl cl
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
sub edx, 0x2076
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setle cl
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], ebx
jne 0x100435db
mov eax, dword [ebp - 0xf0]
cmp dword [eax + 0xc], ebx
jne 0x100435b4
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
neg ecx
sbb ecx, ecx
inc ecx
inc dword [ebp - 0x24]
cmp eax, ecx
mov eax, esi
cmove eax, ebx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c4]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
xor ecx, ecx
mov eax, dword [ebp - 0xf0]
add edx, 0x452e2cc7
cmp edx, dword [eax]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c8]
setne cl
neg edx
mov dword [edi + 4], ecx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setge cl
xor eax, eax
lea ecx, [ecx*2 + 0x6d6dbc1c]
cmp ecx, 0xebf8c326
lea ecx, [ebp - 0xf0]
setne al
mov dword [ebp - 0x1c], eax
call fcn.10010c40
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0x24], 0x7574
cmp dword [ebp - 0x24], 0x7937
jle 0x10043693
mov esi, ebx
mov dword [ebp - 0x34], ebx
mov edi, ebx
mov dword [ebp - 0x40], ebx
mov ecx, edi
mov ebx, esi
mov esi, dword [ebp - 0x40]
sar ebx, cl
mov ecx, esi
mov eax, ebx
shl eax, cl
mov ecx, 0x1060aeb8
cdq
push edx
push eax
call fcn.10010996
inc esi
cmp esi, 0x3d58
jl 0x10043659
mov esi, dword [ebp - 0x34]
inc edi
push 0
pop ebx
cmp edi, 0x706a
jl 0x1004364d
inc esi
mov dword [ebp - 0x34], esi
cmp esi, 0x4bee
jl 0x1004364b
xor esi, esi
inc esi
mov dword [ebp - 0x28], 0xfffffffe
mov dword [ebp - 4], 0x19
cmp dword [ebp - 0x24], 0x71a3
jge 0x100436b9
mov edx, 0x1000b540
mov ecx, 0x1060aeb8
call fcn.100132ba
or dword [ebp - 4], 0xffffffff
mov edi, dword [ebp - 0x2c]
mov dword [ebp - 0x20], ebx
jmp 0x100436fa
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x60], ebx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x100436f0
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x28], ebx
jmp 0x10043718
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x60], 0x2cfb6318
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], esi
jl 0x1004370a
test edi, edi
jne 0x10043e8a
cmp dword [ebp - 0x90], edi
jle 0x10043e8a
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x1c], 0xfffffff9
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x48], 9
mov dword [ebp - 0x14], ebx
jmp 0x1004375f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x12c], 5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1004374e
mov dword [ebp - 0x14], ebx
jmp 0x1004377b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xf4], 0xfff8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1004376a
mov dword [ebp - 0x14], ebx
jmp 0x10043854
push esi
lea ecx, [ebp - 0xa8]
call fcn.10010bbe
mov dword [ebp - 0x20], ebx
jmp 0x100437a8
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xa8]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x10043799
mov eax, dword [ebp - 0xa8]
mov dword [eax], ebx
mov dword [ebp - 0x28], 0x196a162c
mov dword [ebp - 0x40], 0xf0d3ecf0
mov dword [ebp - 0x28], ebx
jmp 0x10043815
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x34], 0x50b5f0b1
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x12c]
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], ebx
je 0x10043808
mov eax, dword [ebp - 0xa8]
xor ecx, ecx
mov eax, dword [eax]
mov edx, dword [ebp + eax*4 - 0x12c]
mov eax, dword [ebp - 0x28]
cmp eax, 0xd1e1
mov eax, esi
setl cl
cmp edx, ecx
jle 0x1004380a
mov eax, ebx
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x1c], ebx
jne 0x1004381b
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jle 0x100437c8
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x10043835
push 0x1b34
push 0x2e7
push ebx
call dword [sym.imp.GDI32.dll_PtInRegion]
mov eax, dword [ebp - 0xa8]
inc dword [eax]
cmp dword [eax], 3
jle 0x100437b5
lea ecx, [ebp - 0xa8]
call fcn.10010c40
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jle 0x10043788
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], 0xfffffff0
jg 0x10043a69
push esi
lea ecx, [ebp - 0x144]
call fcn.10010bbe
mov dword [ebp - 4], 0x1b
mov dword [ebp - 0x34], 0x9a164e62
mov dword [ebp - 0x28], 0x55e8
cmp dword [ebp - 0x28], 0x5907
jle 0x1004391c
mov ecx, ebx
mov dword [ebp - 0x24], ebx
mov eax, ebx
mov dword [ebp - 0x20], ebx
mov edi, ebx
mov dword [ebp - 0x34], ebx
add eax, ecx
mov dword [ebp - 0x40], ebx
mov ecx, edi
mov edi, ebx
shl eax, cl
mov dword [ebp - 0x48], eax
or eax, edi
lea ecx, [ebp - 0x2a8]
cdq
push edx
push eax
call fcn.1000cefe
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100438d0
mov eax, dword [eax]
push eax
call fcn.1004c59f
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x2a8]
call fcn.1001113e
mov eax, dword [ebp - 0x48]
inc edi
cmp edi, 0x1eb
jl 0x100438b6
mov edi, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
inc edi
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x34], edi
cmp edi, 0x59a9
jl 0x100438a8
inc eax
mov dword [ebp - 0x20], eax
cmp eax, 0x67b6
jl 0x100438a3
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x4d45
jl 0x1004389e
mov dword [ebp - 0x20], ebx
jmp 0x10043934
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x144]
mov dword [eax + ecx*4], 0xfe2c
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x10043921
cmp dword [ebp - 0x28], 0x5280
jge 0x1004394d
push 0x1000b5a8
call fcn.1004c59f
pop ecx
mov dword [ebp - 4], 0x1b
mov eax, dword [ebp - 0x144]
cmp dword [eax], ebx
je 0x10043965
mov edi, esi
cmp dword [ebp - 0x14], ebx
jne 0x10043967
mov edi, ebx
mov eax, dword [ebp - 0x128]
xor edx, edx
mov ecx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setg dl
mov dword [ebp - 0x34], edx
cmp dword [ebp - 0x34], ebx
je 0x1004398c
mov eax, esi
cmp dword [ebp - 0x1c], ebx
jne 0x1004398e
mov eax, ebx
xor ecx, ecx
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x120]
setg cl
xor edx, edx
add ecx, edi
add ecx, eax
mov eax, dword [ebp - 0x12c]
cmp eax, ecx
setne dl
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x34], 0x350b
cmp dword [ebp - 0x34], 0x3855
jle 0x100439f0
mov edi, ebx
mov esi, ebx
mov eax, esi
mov ecx, 0x1060aeb8
and eax, edi
cdq
push edx
push eax
call fcn.10010996
inc esi
cmp esi, 0x301a
jl 0x100439ca
inc edi
cmp edi, 0x7203
jl 0x100439c8
xor esi, esi
inc esi
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x10043a0f
push 0xe03
push ebx
push 0x541
push 0x1550
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
mov byte [ebp - 4], 0x1e
cmp dword [ebp - 0x34], 0x326c
jge 0x10043a52
mov edx, 0x1000b5f0
mov ecx, 0x1060aeb8
call fcn.100132ba
jmp 0x10043a52
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x144]
call fcn.10010c40
dec dword [ebp - 0x14]
jmp 0x10043861
mov dword [ebp - 0x24], 0x5d6c05ba
mov dword [ebp - 0x24], ebx
jmp 0x10043b31
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x3c], 2
mov dword [ebp - 0x3c], 0x9aaed6b6
mov dword [ebp - 0x3c], 0x3ab1943c
mov dword [ebp - 0x3c], 0x266d210e
mov dword [ebp - 0x1c], ebx
jmp 0x10043b24
mov dword [ebp - 0x14], 0xfffffff6
mov dword [ebp - 0x3c], 0x20e32cf4
mov dword [ebp - 0x3c], 8
mov dword [ebp - 0x14], ebx
jmp 0x10043b1b
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x28], ebx
jmp 0x10043b12
push 2
lea ecx, [ebp - 0x138]
call fcn.10010bbe
mov dword [ebp - 0x20], ebx
jmp 0x10043ae6
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x138]
mov dword [eax + ecx*4], 0x31d14cd4
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x10043ad3
mov eax, dword [ebp - 0x138]
inc dword [eax]
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x10043b04
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
lea ecx, [ebp - 0x138]
call fcn.10010c40
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xd
jl 0x10043ac1
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff2
jge 0x10043ab9
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff8
je 0x10043a9f
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x16
jge 0x10043a78
mov dword [ebp - 0x14], 9
mov dword [ebp - 0x20], 0xdacd
mov dword [ebp - 0x24], ebx
jmp 0x10043b5f
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xd4], 0x80eec299
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x10043b4e
mov eax, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0xd4], ecx
mov eax, dword [ebp - 0x14]
cmp eax, ecx
setle dl
imul edx, dword [ebp - 0x20]
mov dword [ebp - 0x14], edx
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x10043bb2
push ebx
push 0x1eed
push 0xc26
push 0x210f
call dword [sym.imp.GDI32.dll_GetCharWidth32A]
cmp dword [ebp - 0x8c], 0
je 0x10043e8a
mov dword [ebp - 0x14], 0x29bf
lea ecx, [ebp - 0x1a4]
mov dword [ebp - 0x28], 0x80ae
mov dword [ebp - 0x38], 0x79655965
push 2
call fcn.10010bbe
push 3
lea ecx, [ebp - 0x104]
mov dword [ebp - 4], 0x20
call fcn.10010bbe
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x18c]
mov dword [ebp - 0x40], 0xd2ca
push 2
call fcn.10010bbe
mov byte [ebp - 4], 0x22
mov dword [ebp - 0x20], 0x5d4
cmp dword [ebp - 0x20], 0x8d8
jle 0x10043f84
mov eax, ebx
mov dword [ebp - 0x24], ebx
mov ecx, ebx
mov dword [ebp - 0x34], ebx
cdq
mov edi, ebx
idiv ecx
mov dword [ebp - 0x38], edi
mov eax, edx
mov dword [ebp - 0x3c], eax
mov ecx, edi
mov dword [ebp - 0x48], ebx
mov edx, eax
mov edi, ebx
shl edx, cl
mov dword [ebp - 0x1c], edx
mov eax, edi
lea ecx, [ebp - 0x290]
xor eax, edx
cdq
push edx
push eax
call fcn.1000cefe
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10043f31
mov eax, dword [eax]
push eax
call fcn.1004c59f
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x290]
call fcn.1001113e
mov edx, dword [ebp - 0x1c]
inc edi
cmp edi, 0x4ccf
jl 0x10043f15
mov edi, dword [ebp - 0x38]
mov eax, dword [ebp - 0x3c]
inc edi
mov dword [ebp - 0x38], edi
cmp edi, 0x1f07
jl 0x10043f07
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
inc ecx
mov dword [ebp - 0x34], ecx
cmp ecx, 0x77ea
jl 0x10043efa
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0xdd6
jl 0x10043ef5
cmp dword [ebp - 0x20], 0x367
jge 0x10043f98
push 0x1000b650
call fcn.1004c59f
pop ecx
mov dword [ebp - 0x1c], ebx
jmp 0x10043faa
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1d8], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10043f9d
mov dword [ebp - 0x1c], ebx
jmp 0x10043fc8
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1a4]
mov dword [eax + ecx*4], 0xfa18394d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10043fb5
mov dword [ebp - 0x1c], ebx
jmp 0x10043fe3
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x104]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10043fd3
mov dword [ebp - 0x1c], ebx
jmp 0x10043ffd
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18c]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10043fee
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
je 0x10044015
cmp dword [ebp - 0x28], ebx
jne 0x10044019
cmp dword [ebp - 0x14], ebx
jne 0x10044019
mov eax, ebx
jmp 0x1004401b
mov eax, esi
xor ecx, ecx
cmp eax, 0xb1af
mov eax, dword [ebp - 0x28]
sete cl
xor edx, edx
cmp ecx, eax
setge dl
mov dword [ebp - 0x1d8], edx
mov eax, dword [ebp - 0x28]
sub edx, eax
mov eax, dword [ebp - 0x14]
neg edx
sbb edx, edx
neg edx
mov dword [ebp - 0x3c], edx
xor edx, edx
cmp dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x14]
setne dl
xor ecx, ecx
cmp edx, eax
setl cl
xor edx, edx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
setg dl
sub edx, dword [ebp - 0x14]
neg edx
sbb edx, edx
inc edx
sub edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x3c], edx
xor edx, edx
cmp dword [ebp - 0x3c], 0x9c93
setle dl
xor ecx, ecx
cmp edx, eax
setle cl
cmp dword [ebp - 0x14], ecx
jge 0x10044096
cmp dword [ebp - 0x14], ebx
jne 0x10044098
mov esi, ebx
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
imul eax, esi
mov esi, dword [ebp - 0x1a4]
mov dword [ebp - 0x38], esi
sub ecx, eax
neg ecx
sbb ecx, ecx
add ecx, 0xf513ae5b
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp ecx, 0xfffffffc
setg al
sub eax, 0xecc33bab
neg eax
sbb eax, eax
add eax, 0xffffea8b
neg eax
sbb eax, eax
xor edx, edx
inc eax
cmp eax, 0x5631cd1a
mov eax, dword [ebp - 0x14]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x1d8]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x28]
setl cl
mov dword [esi + 4], ecx
xor edx, edx
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x104]
mov esi, dword [ebp - 0x104]
mov edi, dword [ebp - 0x14]
cmp ecx, dword [eax]
setne dl
xor eax, eax
cmp edx, dword [esi + 8]
mov esi, dword [esi + 8]
setle al
sub edi, eax
mov eax, dword [ebp - 0x18c]
neg edi
sbb edi, edi
xor ecx, ecx
inc edi
sub edi, dword [eax + 4]
mov eax, dword [ebp - 0x38]
add edi, dword [eax + 4]
mov eax, dword [ebp - 0x14]
cmp eax, esi
setge cl
xor edx, edx
cmp esi, ecx
mov ecx, dword [ebp - 0x38]
setle dl
xor eax, eax
cmp edx, edi
setle al
mov dword [ecx + 4], eax
lea ecx, [ebp - 0x18c]
call fcn.10010c40
lea ecx, [ebp - 0x104]
call fcn.10010c40
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1a4]
call fcn.10010c40
lea ecx, [ebp - 0x90]
call fcn.1003d8c5
cmp dword [ebp - 0x30], 0
jne 0x100442e0
cmp dword [ebp - 0x2c], 0
je 0x100442e0
mov dword [ebp - 0x28], 0x6de713a4
lea ecx, [ebp - 0xb4]
push 4
call fcn.10010bbe
xor edi, edi
mov dword [ebp - 0x1c], 0xc9fa8bc0
inc edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x14], ebx
jmp 0x100441d6
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xb4]
mov dword [eax + ecx*4], 0x3c61c71b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x100441c3
mov dword [ebp - 0x14], ebx
jmp 0x100441f2
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1b0], 7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x100441e1
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov esi, dword [ebp - 0xb4]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
cmp eax, 0x9dad
setl cl
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
sub edx, 0x2076
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setle cl
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], ebx
jne 0x10044272
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 0xc], ebx
jne 0x1004424b
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x30]
neg ecx
sbb ecx, ecx
inc ecx
inc dword [ebp - 0x30]
cmp eax, ecx
mov eax, edi
cmove eax, ebx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0xb4]
add ecx, 0x452e2cc7
cmp ecx, dword [eax]
setne dl
mov dword [esi + 4], edx
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1ac]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setge cl
lea eax, [ecx*2 + 0x6d6dbc1c]
xor ecx, ecx
cmp eax, 0xebf8c326
setne cl
mov dword [ebp - 0x1c], ecx
lea ecx, [ebp - 0xb4]
call fcn.10010c40
mov edx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x2c]
call fcn.1004287d
mov esi, eax
lea eax, [ebp - 0x64]
push eax
mov dword [ebp - 0xcc], esi
call fcn.100446fd
mov dword [eax], esi
jmp 0x100442e3
xor edi, edi
inc edi
mov dword [ebp - 0x20], edi
lea ecx, [ebp - 0x11c]
mov dword [ebp - 0x28], 8
push edi
call fcn.10010bbe
mov dword [ebp - 4], 0x25
lea ecx, [ebp - 0x110]
mov dword [ebp - 0x2c], 0x250
mov dword [ebp - 0x3c], 5
push 4
call fcn.10010bbe
mov byte [ebp - 4], 0x26
mov dword [ebp - 0x1c], ebx
jmp 0x10044332
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x4c], 0x3895196e
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10044324
mov dword [ebp - 0x1c], ebx
jmp 0x1004434f
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x11c]
mov dword [eax + ecx*4], 0x6d21b185
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1004433c
mov dword [ebp - 0x1c], ebx
jmp 0x1004436c
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x110]
mov dword [eax + ecx*4], 0x30a04a8f
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x10044359
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x20]
jne 0x100443a0
cmp dword [ebp - 0x2c], ebx
je 0x10044386
mov esi, edi
cmp dword [ebp - 0x4c], ebx
jne 0x10044388
mov esi, ebx
mov edx, dword [ebp - 0x11c]
mov ecx, 0x3aecc
mov eax, dword [edx]
sub ecx, eax
dec eax
mov dword [edx], eax
mov eax, ebx
cmp ecx, esi
je 0x100443a2
mov eax, edi
xor ecx, ecx
test eax, eax
mov eax, dword [ebp - 0x4c]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x4c]
setle cl
imul ecx, eax
cmp ecx, dword [ebp - 0x4c]
jne 0x100443cf
mov ecx, ebx
cmp dword [ebp - 0x28], ebx
je 0x100443d1
mov ecx, edi
mov eax, dword [ebp - 0x20]
sub ecx, eax
je 0x1004457c
push 3
pop esi
mov dword [ebp - 0x40], 2
lea ecx, [ebp - 0x1f4]
mov dword [ebp - 0x3c], 0xb536e219
mov dword [ebp - 0x3c], esi
push edi
call fcn.10010bbe
mov byte [ebp - 4], 0x27
mov dword [ebp - 0x3c], 0xce2a
mov dword [ebp - 0x24], ebx
jmp 0x1004441b
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1f4]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x1004440c
mov dword [ebp - 0x28], 0x18
cmp dword [ebp - 0x28], 0xd
jne 0x1004456b
mov dword [ebp - 0x3c], 0xfffffffd
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x2c], ebx
jg 0x10044563
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x24], ebx
jmp 0x1004445a
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x68], 0xfffffff7
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x1004444c
cmp dword [ebp - 0x68], 0x7689
jl 0x100444ad
mov eax, dword [ebp - 0x3c]
xor edx, edx
inc eax
cmp eax, 0x23a5
mov eax, dword [ebp - 0x40]
setl dl
xor ecx, ecx
cmp edx, eax
setl cl
xor eax, eax
cmp ecx, 0x456cfc4f
setle al
xor edx, edx
cmp eax, 6
mov eax, dword [ebp - 0x11c]
setle dl
xor ecx, ecx
cmp edx, dword [eax]
mov edx, edi
setge cl
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x44]
cmp dword [ebp - 0x20], ebx
jne 0x100444af
mov edx, ebx
mov eax, dword [ebp - 0x40]
xor ecx, ecx
cmp eax, edx
push 0
setl cl
sub ecx, dword [ebp - 0x68]
neg ecx
pop eax
sbb ecx, ecx
inc ecx
sets al
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x44], 0x1b6b
cmp dword [ebp - 0x44], 0x1c04
jle 0x10044507
mov esi, ebx
mov edi, ebx
mov eax, esi
mov ecx, 0x1060aeb8
cdq
idiv edi
mov eax, edx
cdq
push edx
push eax
call fcn.10010996
inc edi
cmp edi, 0x3b11
jl 0x100444de
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x10044517
dec dword [ebp - 0x28]
jmp 0x10044427
mov eax, dword [ebp - 0x110]
lea ecx, [ebp - 0x1f4]
inc dword [eax + 4]
jmp 0x100445f5
push edi
lea ecx, [ebp - 0xc0]
call fcn.10010bbe
mov dword [ebp - 0x24], ebx
jmp 0x100445a0
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xc0]
mov dword [eax + ecx*4], 0x53718d27
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x1004458d
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0xc0]
cmp dword [edx], ebx
jne 0x100445bb
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0xc0]
xor eax, eax
cmp dword [edx], edi
setg al
xor ecx, ecx
cmp eax, dword [edx]
mov eax, dword [ebp - 0x110]
setge cl
add ecx, dword [eax + 4]
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, dword [ebp - 0x4c]
jne 0x100445df
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xc0]
cmp dword [eax], ebx
jne 0x100445ec
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], ebx
lea ecx, [ebp - 0xc0]
call fcn.10010c40
lea ecx, [ebp - 0x110]
call fcn.10010c40
lea ecx, [ebp - 0x11c]
call fcn.10010c40
mov eax, dword [ebp + 8]
lea esi, [ebp - 0xcc]
mov ecx, dword [ebp - 0xc]
mov edi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret