Function at 0x100d0d49
Capabilities:
Query environment variable

Disassembly:
mov eax, 0x1014efcc
call fcn.1014399c
sub esp, 0x184
push ebx
push esi
push edi
mov dword [ebp - 0x20], 0x42eb90da
lea ecx, [ebp - 0xa4]
push 4
call fcn.100141a5
xor ebx, ebx
lea eax, [ebp - 0x164]
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x50]
push dword [ebp + 8]
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0xa7221ebc
push eax
lea eax, [ebp - 0x174]
mov dword [ebp - 0x50], ebx
push eax
push ebx
movdqu xmmword [ebp - 0x174], xmm0
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x48], ebx
call fcn.10015178
mov byte [ebp - 4], 1
mov dword [ebp - 0x1c], 0x7736
mov dword [ebp - 0x10], ebx
jmp 0x100d0dc9
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xa4]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x100d0dba
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], 0xfffffffb
jg 0x100d0fad
mov edi, dword [ebp - 0x50]
push 3
lea ecx, [ebp - 0xc8]
call fcn.100141a5
push 2
pop eax
push 4
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], al
call fcn.100141a5
mov dword [ebp - 0x10], 1
mov dword [ebp - 0x14], ebx
jmp 0x100d0e1e
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc8]
mov dword [eax + ecx*4], 9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x100d0e0b
mov dword [ebp - 0x14], ebx
jmp 0x100d0e3c
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xbc]
mov dword [eax + ecx*4], 0x5261fc42
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x100d0e29
mov esi, dword [ebp - 0xc8]
mov dword [esi + 4], 0x18
mov dword [ebp - 0x24], 0x8cccddd1
mov dword [ebp - 0x24], ebx
jmp 0x100d0ee2
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0x28], 0xd68f985
mov dword [ebp - 0x14], 5
mov dword [ebp - 0x2c], 0x79d44f4c
mov ecx, dword [eax]
mov eax, dword [ebp - 0xbc]
push 0
mov dword [eax], ecx
xor ecx, ecx
mov dword [ebp - 0x28], 1
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
cmp eax, 0x97b0
mov eax, dword [ebp - 0xa4]
setg cl
cmp dword [eax + edx*4], ecx
mov eax, dword [ebp - 0x28]
pop edx
setg dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x20]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setle dl
xor ecx, ecx
cmp edx, 0x84b7
sete cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setne dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x2c], ecx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jle 0x100d0e5e
dec dword [esi + 4]
cmp dword [esi + 4], 9
jge 0x100d0e4f
mov eax, dword [ebp - 0x20]
xor ecx, ecx
imul eax, dword [ebp - 0x10], 0xfffffff6
cmp eax, dword [edi + 0xc]
mov eax, dword [ebp - 0xbc]
setge cl
xor edx, edx
cmp ecx, dword [eax]
setge dl
sub edx, 0xe82b
neg edx
sbb edx, edx
xor eax, eax
inc edx
cmp edx, 5
setl al
cmp eax, 0xe3c2
jge 0x100d0f37
mov eax, dword [ebp - 0x50]
cmp dword [eax + 4], ebx
je 0x100d0f41
cmp dword [esi + 4], ebx
je 0x100d0f41
xor ecx, ecx
inc ecx
jmp 0x100d0f43
mov ecx, ebx
dec dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x1c]
cmp eax, ecx
jge 0x100d0f53
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0xbc]
push eax
mov dword [eax], 0x6f576105
call fcn.10123626
pop ecx
mov byte [ebp - 4], 1
push dword [ebp - 0xc8]
mov dword [ebp - 0xbc], ebx
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0xb4], ebx
call fcn.10123626
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0xc4], ebx
mov dword [ebp - 0xc0], ebx
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffffb
pop ecx
jle 0x100d0ddf
cmp dword [ebp - 0x50], 0
je 0x100d0fc5
push dword [ebp - 0x50]
call fcn.10123626
pop ecx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x48], ebx
or edi, 0xffffffff
mov dword [ebp - 4], edi
cmp dword [ebp - 0xa4], 0
je 0x100d0ff2
push dword [ebp - 0xa4]
call fcn.10123626
pop ecx
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 0x20], 0x3248c66
lea ecx, [ebp - 0xec]
mov dword [ebp - 0x1c], 0xba6b42be
mov dword [ebp - 0x1c], 0x551fa4c8
push 4
call fcn.100141a5
mov dword [ebp - 0x1c], 0x91c84132
mov dword [ebp - 0x1c], 0x72d50fa8
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x34], 0x914a
mov dword [ebp - 0x10], ebx
jmp 0x100d1044
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xec]
mov dword [eax + ecx*4], 0x5bb08661
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x100d1031
mov eax, dword [ebp - 0x20]
xor edx, edx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
inc ecx
cmp ecx, eax
setge dl
sub edx, dword [ebp - 0x20]
sub edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x30], edx
xor edx, edx
cmp dword [ebp - 0x30], 0x2717
setne dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x1c], ecx
xor ecx, ecx
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp edx, eax
mov edx, 0x1215
setge cl
mov dword [ebp - 0x1c], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp eax, edx
mov esi, dword [ebp - 0xec]
setl cl
add ecx, dword [ebp - 0x20]
mov dword [esi + 8], edx
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], 3
sbb edx, edx
xor ecx, ecx
inc edx
add edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp eax, edi
setg cl
cmp ecx, edx
je 0x100d10d5
cmp dword [esi + 8], ebx
jne 0x100d10d5
mov eax, ebx
jmp 0x100d10d8
xor eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x30], eax
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100d10f0
call dword [sym.imp.USER32.dll_WaitMessage]
push dword [ebp - 0xec]
call fcn.10123626
cmp byte [0x105d89f1], 0
pop ecx
mov dword [ebp - 0xec], ebx
mov dword [ebp - 0xe8], ebx
mov dword [ebp - 0xe4], ebx
jne 0x100d22b7
mov byte [0x105d89f1], 1
mov dword [ebp - 0x28], 0x68ec0ae9
push 3
mov dword [ebp - 0x30], 0xbf2d3f50
mov dword [ebp - 0x28], 0x1b
pop esi
cmp dword [ebp - 0x28], 0xfffffffa
jle 0x100d1192
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x10], ebx
jmp 0x100d1159
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x18c], 1
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x100d1148
push 2
mov dword [ebp - 0x24], ebx
pop eax
jmp 0x100d116e
cmp dword [ebp - 0x24], ebx
jne 0x100d1173
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], eax
jle 0x100d1166
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100d118d
push 0x1769
push 0xe14
push ebx
call dword [sym.imp.USER32.dll_RemoveMenu]
dec dword [ebp - 0x28]
jmp 0x100d113a
push 2
pop eax
mov dword [ebp - 0x30], 1
lea ecx, [ebp - 0x80]
push eax
mov edi, ebx
call fcn.100141a5
mov dword [ebp - 4], esi
push 2
mov dword [ebp - 0x28], 0xfffffff6
mov dword [ebp - 0x10], ebx
pop edx
jmp 0x100d11c9
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x80]
mov dword [eax + ecx*4], 1
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x100d11b9
mov dword [ebp - 0x28], 1
cmp dword [ebp - 0x28], ebx
jl 0x100d130f
or edi, 0xffffffff
push 1
lea ecx, [ebp - 0x134]
call fcn.100141a5
xor edx, edx
mov dword [ebp - 0x10], ebx
inc edx
jmp 0x100d1205
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x134]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x100d11f6
mov eax, dword [ebp - 0x134]
mov dword [eax], ebx
mov dword [ebp - 0x1c], edi
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100d122f
push ebx
push ebx
push 0x1cd2
push ebx
call dword [sym.imp.USER32.dll_AppendMenuA]
xor edx, edx
inc edx
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], ebx
jl 0x100d12db
mov dword [ebp - 0x14], 0x5f0ed1ad
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], ebx
jl 0x100d12ac
mov dword [ebp - 0x10], 0x498e64e6
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100d1276
push 0x1ef3
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetTextAlign]
xor edx, edx
inc edx
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], ebx
jl 0x100d12a7
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100d1294
push ebx
push 0x7fa
push ebx
call dword [sym.imp.GDI32.dll_GetObjectW]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x80]
cmp dword [eax + ecx*4], ebx
jne 0x100d12a4
dec dword [ebp - 0x10]
jns 0x100d127e
xor edx, edx
inc edx
dec dword [ebp - 0x14]
jns 0x100d124a
mov dword [ebp - 0x14], ebx
jmp 0x100d12cd
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100d12ca
push 0x1aad
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
xor edx, edx
inc edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jle 0x100d12b1
dec dword [ebp - 0x1c]
jns 0x100d123b
mov eax, dword [ebp - 0x134]
inc dword [eax]
cmp dword [eax], edx
jle 0x100d1212
push eax
call fcn.10123626
mov dword [ebp - 0x134], ebx
mov dword [ebp - 0x130], ebx
mov dword [ebp - 0x12c], ebx
dec dword [ebp - 0x28]
pop ecx
jns 0x100d11e1
mov edi, ebx
or eax, 0xffffffff
mov dword [ebp - 4], eax
cmp dword [ebp - 0x80], 0
je 0x100d132d
push dword [ebp - 0x80]
call fcn.10123626
pop ecx
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x78], ebx
mov ecx, 0x210b
call fcn.10015af9
test al, al
je 0x100d141d
mov dword [ebp - 0x1c], 0x4d2edc75
or edi, 0xffffffff
mov dword [ebp - 0x10], 0x73bf38c0
mov dword [ebp - 0x34], 9
mov dword [ebp - 0x28], 0x4b5c6f8b
mov dword [ebp - 0x14], 0x5b0bb8bf
mov dword [ebp - 0x34], 0xc7104272
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x34], 0xfffffff8
mov dword [ebp - 0x24], 6
mov dword [ebp - 0x2c], 0x483bbb66
mov dword [ebp - 0x10], ebx
jmp 0x100d139a
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x15c], 0xd3ecf04b
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x100d1389
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
dec dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x154]
mov eax, dword [ebp - 0x28]
cmp eax, ecx
push 3
setl dl
mov dword [ebp - 0x28], edx
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
mov eax, 0xfffe
setl cl
cmp eax, ecx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
sbb esi, esi
mov dword [0x105da318], ebx
neg esi
xor edx, edx
cmp ecx, eax
setne dl
xor ecx, ecx
cmp edx, esi
pop esi
setne cl
xor eax, eax
cmp ecx, edi
setne al
xor edi, edi
mov dword [ebp - 0x158], eax
inc edi
mov ecx, 0x2108
call fcn.10015af9
test al, al
je 0x100d1593
mov dword [ebp - 0x24], 0xac204e2d
lea ecx, [ebp - 0x128]
mov dword [ebp - 0x20], 0xee41b66b
push 4
call fcn.100141a5
mov dword [ebp - 4], 4
lea ecx, [ebp - 0xf8]
mov dword [ebp - 0x34], 5
mov dword [ebp - 0x28], 0xfffffff9
push esi
call fcn.100141a5
mov dword [ebp - 0x14], ebx
jmp 0x100d147f
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x128]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x100d1470
mov dword [ebp - 0x14], ebx
jmp 0x100d149d
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xf8]
mov dword [eax + ecx*4], 8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100d148a
push 0x16
mov dword [ebp - 0x24], 0xffffffef
pop ecx
jmp 0x100d1519
mov dword [ebp - 0x10], 1
mov dword [ebp - 0x10], ebx
jmp 0x100d150b
mov dword [ebp - 0x14], 5
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x14], ebx
jmp 0x100d14d9
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x100d14d0
mov dword [ebp - 0x20], ebx
jmp 0x100d1502
mov dword [ebp - 0x1c], 0xffff
mov dword [ebp - 0x14], 6
jmp 0x100d14f9
dec dword [ebp - 0x1c]
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffe3
jg 0x100d14f3
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 9
jne 0x100d14e3
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x15
jg 0x100d14ba
cmp dword [ebp - 0x24], ebx
jne 0x100d151e
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jl 0x100d14ae
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x128]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x20]
cmp eax, edx
setg cl
xor eax, eax
cmp ecx, edx
setl al
cmp dword [ebp - 0xf8], 0
mov dword [ebp - 0x20], eax
je 0x100d1568
push dword [ebp - 0xf8]
call fcn.10123626
pop ecx
mov dword [ebp - 0xf8], ebx
mov dword [ebp - 0xf4], ebx
mov dword [ebp - 0xf0], ebx
or eax, 0xffffffff
mov dword [ebp - 4], eax
push dword [ebp - 0x128]
call fcn.10123626
mov dword [0x105da31c], edi
inc edi
pop ecx
mov dword [ebp - 0x128], ebx
mov dword [ebp - 0x124], ebx
mov dword [ebp - 0x120], ebx
mov dword [0x105da320], edi
lea ecx, [ebp - 0x110]
inc edi
push esi
mov dword [ebp - 0x24], edi
call fcn.100141a5
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x14], ebx
jmp 0x100d15c2
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x144], 0xae35
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100d15b1
mov dword [ebp - 0x14], ebx
jmp 0x100d15df
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x110]
mov dword [eax + ecx*4], 0xcd453606
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100d15cc
mov edi, dword [ebp - 0x110]
push 2
pop eax
mov dword [edi + 8], eax
mov dword [ebp - 0x30], 5
mov dword [ebp - 0x1c], 0x2aa9dade
cmp dword [edi + 8], ebx
je 0x100d160d
cmp dword [ebp - 0x1c], ebx
je 0x100d160d
xor ecx, ecx
inc ecx
jmp 0x100d160f
mov ecx, ebx
mov eax, dword [ebp - 0x144]
sub ecx, eax
cmp ecx, dword [ebp - 0x140]
jge 0x100d1629
cmp dword [edi + 8], ebx
je 0x100d1629
xor ecx, ecx
inc ecx
jmp 0x100d162b
mov ecx, ebx
mov eax, dword [edi + 8]
mov esi, 0x693009c
sub eax, ecx
mov ecx, dword [ebp - 0x30]
dec ecx
add ecx, eax
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
sub esi, ecx
mov ecx, dword [ebp - 0x140]
mov eax, dword [ebp - 0x144]
cmp ecx, eax
setg dl
xor eax, eax
cmp edx, esi
setl al
dec dword [edi + 8]
mov dword [ebp - 0x1c], eax
jns 0x100d15f0
mov edx, dword [ebp - 0x110]
xor ecx, ecx
push edx
mov eax, dword [edx + 4]
add eax, 0xab79
cmp eax, 0x2c02
setle cl
mov dword [ebp - 0x30], ecx
call fcn.10123626
mov edi, dword [ebp - 0x24]
mov dword [0x105da324], edi
inc edi
mov dword [ebp - 0x110], ebx
mov dword [ebp - 0x10c], ebx
mov dword [ebp - 0x108], ebx
mov dword [ebp - 0x10], 1
pop ecx
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x10], 0xfffffff0
jmp 0x100d16ec
mov dword [ebp - 0x30], 0x8b10
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100d16e4
push 1
push 0x1191
push 0x1e5
push 0x157e
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetScrollRange]
cmp dword [ebp - 0x30], ebx
jne 0x100d16f2
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffe8
jne 0x100d16b6
mov ecx, 0x20d2
call fcn.10015af9
push 3
pop esi
test al, al
je 0x100d17db
xor eax, eax
lea ecx, [ebp - 0xd4]
inc eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x10], ebx
push esi
call fcn.100141a5
mov dword [ebp - 0x2c], 0xfff8
mov dword [ebp - 0x10], 0xad0d7276
mov dword [ebp - 0x10], ebx
jmp 0x100d174b
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xd4]
mov dword [eax + ecx*4], 0x1cb6a7f4
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x100d1738
dec dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x28], ebx
je 0x100d1773
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
push 2
pop ecx
cmp ecx, eax
sbb eax, eax
neg eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0xd4]
xor edx, edx
mov dword [eax + 4], ebx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
inc ecx
cmp ecx, eax
setg dl
sub edx, dword [ebp - 0x24]
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
push dword [ebp - 0xd4]
mov dword [ebp - 0x28], eax
call fcn.10123626
mov dword [0x105da328], edi
inc edi
pop ecx
mov dword [ebp - 0xd4], ebx
mov dword [ebp - 0xd0], ebx
mov dword [ebp - 0xcc], ebx
mov dword [ebp - 0x24], edi
mov ecx, 0x20d1
call fcn.10015af9
test al, al
je 0x100d198a
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x10], 0x5dbd55a
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x2c], 0xb
je 0x100d190b
mov dword [ebp - 0x1c], 9
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x14], ebx
jmp 0x100d1828
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x64], 0x166c1932
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x100d181a
mov dword [ebp - 0x14], ebx
jmp 0x100d1844
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x180], 0x657eef10
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100d1833
cmp dword [ebp - 0x20], ebx
jne 0x100d1857
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x64]
xor edx, edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x60]
cmp ecx, eax
setle dl
xor ecx, ecx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cmp eax, 0xfffffffc
setg cl
xor eax, eax
cmp ecx, 9
setne al
xor ecx, ecx
cmp eax, 0xd679
setl cl
add ecx, dword [ebp - 0x58]
lea ecx, [ecx*2 + 0x570d7c64]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x58]
jne 0x100d18ac
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x58]
imul ecx, eax, 0xae07
mov eax, dword [ebp - 0x5c]
cmp ecx, eax
setl dl
cmp edx, dword [ebp - 0x20]
jle 0x100d18cd
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x58]
or edx, 0xffffffff
mov ecx, edx
sub ecx, eax
je 0x100d18dc
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x178], 1
mov eax, dword [ebp - 0x20]
dec eax
neg eax
sbb eax, eax
neg eax
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xb
jne 0x100d1807
jmp 0x100d190e
or edx, 0xffffffff
cmp dword [ebp - 0x20], ebx
je 0x100d191f
mov dword [ebp - 0x1c], 0x1036
inc dword [ebp - 0x1c]
jmp 0x100d1980
mov dword [ebp - 0x10], ebx
jmp 0x100d1932
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x54], 0xfffffffc
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 1
jl 0x100d1924
mov dword [ebp - 0x20], 0xffffffe2
jmp 0x100d197a
mov dword [ebp - 0x1c], edx
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100d195a
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_DrawMenuBar]
mov ecx, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x54]
cmp ecx, eax
mov eax, dword [ebp - 0x54]
setg dl
xor ecx, ecx
cmp eax, edx
push 0xffffffffffffffff
setg cl
mov dword [ebp - 0x1c], ecx
inc dword [ebp - 0x20]
pop edx
cmp dword [ebp - 0x20], 0x17
jl 0x100d1941
mov dword [0x105da32c], edi
inc edi
mov dword [ebp - 0x24], edi
call fcn.100ea5f0
test al, al
je 0x100d1e25
mov dword [ebp - 0x14], 0xfffffffb
mov dword [ebp - 0x30], 0x672a8358
mov dword [ebp - 0x28], 0x50f6b34c
mov dword [ebp - 0x10], 7
mov dword [ebp - 0x1c], 0x5ff79fac
mov dword [ebp - 0x14], 0xb
cmp dword [ebp - 0x14], esi
jg 0x100d1a77
or ebx, 0xffffffff
xor edx, edx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x10], 0x98b94be3
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x14]
cmp eax, ecx
mov ecx, dword [ebp - 0x14]
setne dl
sub ecx, dword [ebp - 0x14]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, edx
setne al
xor edx, edx
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setge dl
imul edx, dword [ebp - 0x10]
mov dword [ebp - 0x28], edx
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
neg edx
sbb edx, edx
neg edx
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0xf885
setge cl
cmp ebx, edx
sbb eax, eax
xor edx, edx
inc eax
cmp ecx, eax
setg dl
sub edx, dword [ebp - 0x14]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
sub edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, edx
setl cl
xor edx, edx
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
test eax, eax
mov eax, dword [ebp - 0x1c]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10], eax
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jle 0x100d19cd
xor ebx, ebx
mov dword [0x105da310], edi
inc edi
mov dword [ebp - 0x10], 0xfffffffd
mov dword [ebp - 0x34], 0x68cd546
mov dword [ebp - 0x34], 0x3b26d5d6
mov dword [ebp - 0x30], 7
mov dword [ebp - 0x34], 0xa3d88101
mov dword [ebp - 0x10], 0x1c
cmp dword [ebp - 0x10], 0xffffffe8
mov dword [ebp - 0x24], edi
je 0x100d1ade
or ebx, 0xffffffff
mov dword [ebp - 0x1c], 0x67215912
xor ecx, ecx
mov dword [ebp - 0x34], ebx
inc ecx
mov dword [ebp - 0x34], 0xc0a9
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
sub ecx, eax
mov dword [ebp - 0x30], ecx
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffe8
jne 0x100d1ab4
xor ebx, ebx
call fcn.100e9716
test al, al
je 0x100d1e25
push 2
pop eax
mov dword [ebp - 0x14], 0x624039b6
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x20], 0x43d8
mov dword [ebp - 0x28], 0xb42c
push eax
call fcn.100141a5
push 4
lea ecx, [ebp - 0x8c]
mov dword [ebp - 4], 5
call fcn.100141a5
push 2
mov byte [ebp - 4], 6
mov dword [ebp - 0x14], ebx
pop edx
jmp 0x100d1b42
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x98]
mov dword [eax + ecx*4], 0xfffffffe
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x100d1b2f
mov dword [ebp - 0x14], ebx
jmp 0x100d1b5f
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x8c]
mov dword [eax + ecx*4], 0x97ab83de
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x100d1b4c
dec dword [ebp - 0x20]
mov dword [ebp - 0x14], 0xfffffff0
cmp dword [ebp - 0x14], 0xffffffe6
je 0x100d1dc7
mov eax, 0x1c0f8067
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x34], 0xfa7ad11e
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], esi
jg 0x100d1dba
mov dword [ebp - 0x2c], 0xfffffff7
mov dword [ebp - 0x10], ebx
jmp 0x100d1bba
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x164], 0xe26a25a9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x100d1ba9
mov dword [ebp - 0x2c], esi
cmp dword [ebp - 0x2c], ebx
jl 0x100d1da9
mov dword [ebp - 0x10], 1
lea ecx, [ebp - 0x44]
push 4
call fcn.100141a5
mov byte [ebp - 4], 7
mov dword [ebp - 0x10], ebx
jmp 0x100d1bf2
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x44]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x100d1be5
mov eax, dword [ebp - 0x2c]
cmp dword [ebp + eax*4 - 0x74], ebx
jne 0x100d1d8a
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], esi
jg 0x100d1d63
mov edi, dword [ebp - 0x44]
push 2
pop eax
push eax
lea ecx, [ebp - 0x104]
call fcn.100141a5
push 2
mov dword [ebp - 0x1c], ebx
pop edx
jmp 0x100d1c3a
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x104]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x100d1c2b
mov eax, dword [ebp - 0x2c]
mov ecx, 0x1e6e
mov eax, dword [ebp - 0x20]
push 0
mov edx, dword [ebp + eax*4 - 0x74]
mov eax, dword [ebp - 0x28]
sub ecx, eax
xor eax, eax
cmp edx, ecx
setge al
sub eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x30]
add edx, eax
mov eax, dword [ebp - 0x20]
mov dword [edi + 0xc], edx
mov ecx, dword [ebp + eax*4 - 0x74]
mov eax, dword [ebp - 0x10]
cmp edx, eax
mov eax, dword [ebp - 0x20]
pop edx
setg dl
sub edx, ecx
imul edx, dword [ebp + eax*4 - 0x74]
mov eax, dword [ebp - 0x98]
mov dword [eax], edx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x74]
neg eax
sub eax, dword [ebp - 0x2c]
neg eax
sbb eax, eax
inc eax
cmp eax, 0xffff
mov eax, dword [ebp - 0x104]
sbb esi, esi
xor ecx, ecx
neg esi
mov dword [eax], esi
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp + eax*4 - 0x74]
mov eax, dword [ebp - 0x14]
cmp esi, eax
setg cl
xor eax, eax
cmp edx, ecx
setle al
xor ecx, ecx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x74]
cmp dword [ebp - 0x30], eax
setg cl
sub ecx, dword [ebp - 0x2c]
cmp ecx, 0x9118158f
jae 0x100d1d16
push 3
mov dword [ebp - 0x28], ebx
pop esi
cmp dword [ebp - 0x28], esi
jg 0x100d1d0a
mov ecx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x34]
mov dword [ecx + 8], eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], esi
jle 0x100d1cfc
mov dword [ebp - 0x160], 7
jmp 0x100d1d36
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100d1d33
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_CloseEnhMetaFile]
push 3
pop esi
push dword [ebp - 0x104]
call fcn.10123626
mov dword [ebp - 0x104], ebx
mov dword [ebp - 0x100], ebx
mov dword [ebp - 0xfc], ebx
inc dword [ebp - 0x10]
pop ecx
cmp dword [ebp - 0x10], esi
jle 0x100d1c14
mov edi, dword [ebp - 0x24]
mov byte [ebp - 4], 6
cmp dword [ebp - 0x44], 0
je 0x100d1d7f
push dword [ebp - 0x44]
call fcn.10123626
pop ecx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
dec dword [ebp - 0x2c]
jns 0x100d1bcb
jmp 0x100d1da6
mov byte [ebp - 4], 6
cmp dword [ebp - 0x44], 0
je 0x100d1da6
push dword [ebp - 0x44]
call fcn.10123626
pop ecx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
push 2
pop edx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jle 0x100d1b9d
mov eax, 0x1c0f8067
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffe6
jne 0x100d1b7e
cmp dword [ebp - 0x8c], 0
je 0x100d1dee
push dword [ebp - 0x8c]
call fcn.10123626
pop ecx
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x84], ebx
or eax, 0xffffffff
mov dword [ebp - 4], eax
cmp dword [ebp - 0x98], 0
je 0x100d1e1b
push dword [ebp - 0x98]
call fcn.10123626
pop ecx
mov dword [ebp - 0x98], ebx
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x90], ebx
mov dword [0x105da314], edi
inc edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x34], 0xff18ee85
mov dword [ebp - 0x1c], ebx
jmp 0x100d1e3f
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x38], 0x4fd3df75
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 1
jl 0x100d1e31
mov dword [ebp - 0x38], 0xffffffe3
cmp dword [ebp - 0x38], 0xffffffed
je 0x100d1ecd
push 0xfffffffffffffffe
pop edi
mov dword [ebp - 0x10], 0xfffffff6
cmp dword [ebp - 0x10], ebx
je 0x100d1e7a
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
dec ecx
neg ecx
sbb ecx, ecx
neg ecx
sub eax, ecx
je 0x100d1e7a
xor ecx, ecx
inc ecx
jmp 0x100d1e7c
mov ecx, ebx
mov eax, dword [ebp - 0x10]
imul eax, ecx
neg eax
sbb eax, eax
neg eax
add eax, 0xffff
je 0x100d1e99
cmp dword [ebp - 0x38], ebx
je 0x100d1e99
xor eax, eax
inc eax
jmp 0x100d1e9b
mov eax, ebx
cmp edi, eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x38]
cmp eax, 0xfffffffb
jg 0x100d1eb2
cmp dword [ebp - 0x10], ebx
je 0x100d1eb2
xor edx, edx
inc edx
jmp 0x100d1eb4
mov edx, ebx
mov eax, dword [ebp - 0x10]
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x34], ecx
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0xffffffed
jne 0x100d1e55
mov edi, dword [ebp - 0x24]
call fcn.100bbd48
test al, al
je 0x100d1fe5
push esi
lea ecx, [ebp - 0x11c]
call fcn.100141a5
push esi
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 8
call fcn.100141a5
mov dword [ebp - 0x14], ebx
jmp 0x100d1f11
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x11c]
mov dword [eax + ecx*4], 0x398070ad
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100d1efe
mov dword [ebp - 0x14], ebx
jmp 0x100d1f2e
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xb0]
mov dword [eax + ecx*4], 0xba09
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100d1f1b
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100d1f43
push ebx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov esi, dword [ebp - 0x11c]
mov edx, dword [esi + 8]
mov dword [ebp - 0x34], edx
test edx, edx
je 0x100d1f8d
mov ecx, dword [ebp - 0xb0]
xor eax, eax
mov esi, dword [esi + 4]
cmp edx, dword [ecx + 8]
sete al
xor edx, edx
cmp eax, 0xfffffffb
mov eax, dword [ebp - 0xb0]
setg dl
xor ecx, ecx
imul edx, dword [ebp - 0x34]
cmp esi, dword [eax]
sete cl
xor eax, eax
cmp esi, ecx
setle al
cmp eax, edx
jg 0x100d1f8d
xor ecx, ecx
inc ecx
jmp 0x100d1f8f
mov ecx, ebx
mov esi, dword [ebp - 0x11c]
mov eax, dword [esi]
imul eax, ecx
mov dword [esi], eax
mov eax, dword [ebp - 0xb0]
test eax, eax
je 0x100d1fbf
push eax
call fcn.10123626
pop ecx
mov dword [ebp - 0xb0], ebx
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xa8], ebx
or eax, 0xffffffff
push esi
mov dword [ebp - 4], eax
call fcn.10123626
mov dword [0x105da340], edi
inc edi
pop ecx
mov dword [ebp - 0x11c], ebx
mov dword [ebp - 0x118], ebx
mov dword [ebp - 0x114], ebx
call fcn.100b62c4
test al, al
je 0x100d1ff5
mov dword [0x105da344], edi
inc edi
mov dword [ebp - 0x1c], 0x8e5c
lea ecx, [ebp - 0xe0]
push 4
call fcn.100141a5
mov dword [ebp - 0x28], 0xd711e7bf
or esi, 0xffffffff
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x34], 9
mov dword [ebp - 0x14], ebx
jmp 0x100d2035
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xe0]
mov dword [eax + ecx*4], 0xfffffffb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x100d2022
mov dword [ebp - 0x14], ebx
jmp 0x100d2051
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x138], 0xc60edac7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x100d2040
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xe0]
mov dword [ecx + 8], eax
test eax, eax
je 0x100d209d
mov dword [ebp - 0x28], 0x7308f472
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ecx + 8], edx
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x138], ecx
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], ebx
je 0x100d209d
xor eax, eax
inc eax
jmp 0x100d209f
mov eax, ebx
push dword [ebp - 0xe0]
mov dword [ebp - 0x34], eax
call fcn.10123626
pop ecx
mov ecx, 0x2190
mov dword [ebp - 0xe0], ebx
mov dword [ebp - 0xdc], ebx
mov dword [ebp - 0xd8], ebx
call fcn.10015af9
test al, al
je 0x100d21d1
xor ecx, ecx
inc ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x34], 0x6ad9
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
add eax, 0x73a4c924
mov dword [ebp - 0x14], eax
je 0x100d20fa
cmp dword [ebp - 0x14], ebx
jne 0x100d20fc
mov ecx, ebx
mov eax, dword [ebp - 0x20]
xor edx, edx
add eax, ecx
cmp eax, 0x9c25
mov eax, dword [ebp - 0x20]
setg dl
xor ecx, ecx
cmp edx, eax
setl cl
cmp dword [ebp - 0x20], ecx
jl 0x100d2122
cmp dword [ebp - 0x20], ebx
je 0x100d2122
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setl dl
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x14], ebx
je 0x100d2191
mov dword [ebp - 0x10], ebx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
je 0x100d2176
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0x10]
cmp ecx, eax
setle dl
cmp edx, 0xba8dad4f
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x10]
je 0x100d2176
cmp dword [ebp - 0x10], ebx
je 0x100d2176
xor eax, eax
inc eax
jmp 0x100d2178
mov eax, ebx
xor edx, edx
cmp eax, 0x64db
mov eax, dword [ebp - 0x20]
setle dl
xor ecx, ecx
cmp eax, edx
setne cl
mov dword [ebp - 0x14], ecx
jmp 0x100d21a9
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100d21a2
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SetCommState]
mov dword [ebp - 0x14], 0x649d9592
mov dword [ebp - 0x14], ebx
jmp 0x100d21c4
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100d21c1
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetOverlappedResult]
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff1
jle 0x100d21ae
mov dword [0x105da348], edi
inc edi
call fcn.100e65e6
test al, al
je 0x100d22b7
xor eax, eax
mov dword [ebp - 0x10], 0xba33
inc eax
mov dword [ebp - 0x1c], 0xfffffffd
mov dword [ebp - 0x1c], 0xfffffff6
lea ecx, [ebp - 0x150]
mov dword [ebp - 0x1c], eax
push eax
call fcn.100141a5
mov dword [ebp - 0x1c], ebx
jmp 0x100d221d
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x150]
mov dword [eax + ecx*4], 0xfffffffd
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 1
jl 0x100d220a
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
add eax, 0x7051
cmp eax, esi
setl cl
sub ecx, dword [ebp - 0x10]
neg ecx
sbb ecx, ecx
inc ecx
imul ecx, dword [ebp - 0x10]
imul eax, ecx, 0xe6bb
xor ecx, ecx
cmp eax, 0x1348c89
setne cl
xor eax, eax
cmp ecx, 7
setne al
add eax, dword [ebp - 0x10]
cmp eax, 0x8bc0d133
mov eax, dword [ebp - 0x10]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
setle dl
imul edx, dword [ebp - 0x10]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x150]
mov dword [eax], ecx
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100d22a5
push 0xcd9
call dword [sym.imp.GDI32.dll_GetStockObject]
push dword [ebp - 0x150]
call fcn.10123626
pop ecx
mov dword [0x105da34c], edi
mov eax, dword [ebp + 8]
mov esi, 0x105da310
push 0x10
pop ecx
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret