Function at 0x10020210
Capabilities:
Create directory
Encrypt data using speck
Get common file path
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10066540
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x1b38
call fcn.1005a2e0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov eax, dword [0x1007f1b0]
mov dword [ebp - 0x7c0], eax
mov byte [ebp - 0x12], 0xd4
mov cx, word [0x1007f170]
mov word [ebp - 0x1c], cx
mov dx, word [0x1007f148]
mov word [ebp - 0x24], dx
mov eax, 0x122d2
mov dword [ebp - 0x6c], 0xa585df29
mov dword [ebp - 0x68], eax
mov cx, word [0x1007f14c]
mov word [ebp - 0x20], cx
mov edx, dword [0x1007f188]
mov eax, dword [0x1007f18c]
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], eax
movzx ecx, word [0x1007f168]
mov dword [ebp - 0x74], ecx
xor edx, edx
mov dword [ebp - 0x7c], 0x4e
mov dword [ebp - 0x78], edx
mov eax, 0x5468f
mov dword [ebp - 0x30], 0xe08bd526
mov dword [ebp - 0x2c], eax
mov ecx, dword [0x1007f170]
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x70], 0x92ca
xor edx, edx
mov dword [ebp - 0x40], 0xbdbd253a
mov dword [ebp - 0x3c], edx
xor eax, eax
mov dword [ebp - 0x64], 0x5fd7
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x88], 0xe9bb1080
mov ecx, dword [0x1007f170]
xor edx, edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x58], 0xe8c83fb1
mov eax, 0xaeaac
mov dword [ebp - 0x48], 0xe510eac1
mov dword [ebp - 0x44], eax
movzx ecx, word [0x1007f168]
mov dword [ebp - 0x84], ecx
mov edx, 0xffff80fc
mov word [ebp - 0x18], dx
mov eax, dword [0x1007f198]
mov ecx, dword [0x1007f19c]
mov dword [ebp - 0x7c4], ecx
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x28], 0x6ca1
mov edx, dword [str.C]
mov dword [ebp - 0x5c], edx
mov byte [ebp - 0x11], 1
mov al, byte [0x1007f140]
mov byte [ebp - 0x13], al
mov ecx, dword [0x1007f170]
mov dword [ebp - 0x7c8], ecx
mov edx, dword [0x1007f1b0]
mov eax, dword [0x1007f1b4]
mov dword [ebp - 0x808], edx
mov dword [ebp - 0x804], eax
movsx eax, word [0x1007f15c]
cdq
mov dword [ebp - 0x810], eax
mov dword [ebp - 0x80c], edx
mov ecx, 0x1f6c
mov word [ebp - 0x454], cx
mov dx, word [0x1007f1c0]
mov word [ebp - 0x458], dx
mov dword [ebp - 0x7cc], 0x8d
mov eax, dword [0x1007f160]
mov ecx, dword [0x1007f164]
mov dword [ebp - 0x7d0], ecx
mov byte [ebp - 0xc1], al
mov dx, word [0x1007f140]
mov word [ebp - 0x45c], dx
mov eax, dword [0x1007f138]
mov ecx, dword [0x1007f13c]
mov dword [ebp - 0x818], eax
mov dword [ebp - 0x814], ecx
mov edx, 0x3bd1
mov word [ebp - 0x460], dx
mov dword [ebp - 0x7d4], 0x85
mov eax, dword [ebp - 0x28]
xor ecx, ecx
add eax, dword [ebp - 0x30]
adc ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], ecx
mov edx, dword [0x1007f1d0]
mov eax, dword [0x1007f1d4]
mov dword [ebp - 0x7d8], eax
sub edx, 0x1a08
mov word [0x1007f14c], dx
mov ecx, dword [0x1007fc38]
mov dword [ebp - 0xd8], ecx
mov edx, 1
mov word [ebp - 0x1c], dx
movzx eax, word [ebp - 0x1c]
test eax, eax
je 0x10020459
movzx eax, word [0x1007f1c8]
cdq
mov dword [ebp - 0x360], eax
mov dword [ebp - 0x35c], edx
jmp 0x10020471
mov ecx, dword [0x1007f1b0]
mov edx, dword [0x1007f1b4]
mov dword [ebp - 0x360], ecx
mov dword [ebp - 0x35c], edx
mov ax, word [ebp - 0x360]
mov word [0x1007f148], ax
mov ecx, dword [0x1007f120]
or ecx, dword [0x1007f124]
je 0x1002049b
movzx edx, byte [0x1007f026]
mov dword [ebp - 0x320], edx
jmp 0x100204a8
movzx eax, word [0x1007f1b8]
mov dword [ebp - 0x320], eax
mov cx, word [ebp - 0x320]
mov word [ebp - 0x18], cx
movzx edx, word [ebp - 0x1c]
mov dword [ebp - 0x324], edx
cmp dword [ebp - 0x324], 0
je 0x100204d4
cmp dword [ebp - 0x324], 1
je 0x10020524
jmp 0x10020597
movsx eax, word [ebp - 0x20]
mov ecx, dword [0x1007f180]
lea edx, [eax + ecx + 0x83]
mov word [ebp - 0x20], dx
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
mov edx, dword [0x1007f1c4]
push edx
mov edx, dword [0x1007f1c0]
push edx
push ecx
push eax
call fcn.1005a1b0
mov ecx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x4c]
push edx
push eax
push esi
push ecx
call fcn.1005a1b0
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
mov edx, dword [ebp - 0x5c]
sub edx, dword [ebp - 0x7c]
mov dword [ebp - 0x5c], edx
jmp 0x10020597
movsx eax, word [ebp - 0x20]
movsx ecx, word [ebp - 0x18]
sub eax, ecx
cdq
mov ecx, dword [0x1007f158]
not ecx
xor esi, esi
mov edi, dword [ebp - 0x34]
add ecx, dword [ebp - 0x38]
adc esi, edi
push esi
push ecx
push edx
push eax
call fcn.1005a1b0
not eax
mov dword [str.C], eax
mov ecx, dword [ebp - 0x74]
xor esi, esi
add ecx, dword [ebp - 0x40]
adc esi, dword [ebp - 0x3c]
movsx edx, word [ebp - 0x18]
mov eax, dword [0x1007f1a4]
sub eax, edx
cdq
sub ecx, eax
sbb esi, edx
movzx eax, word [0x1007f14c]
add eax, dword [0x1007f140]
cdq
mov edi, 0xee7c6584
sub edi, eax
mov eax, 0xaca17
sbb eax, edx
push eax
push edi
push esi
push ecx
call fcn.1005a1b0
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov ecx, dword [ebp - 0xd8]
add ecx, 0x435
mov dword [ebp - 0xb0], ecx
movsx edx, word [ebp - 0x18]
push edx
call dword [sym.imp.USER32.dll_IsZoomed]
xor ecx, ecx
mov dword [0x1007f188], eax
mov dword [0x1007f18c], ecx
cmp dword [0x1007f18c], 0
ja 0x100205e1
jb 0x100205d5
cmp dword [0x1007f188], 0
jae 0x100205e1
mov dword [ebp - 0x328], 1
jmp 0x100205eb
mov dword [ebp - 0x328], 0
cmp dword [0x1007f18c], 0
ja 0x1002060b
jb 0x100205ff
cmp dword [0x1007f188], 0xb
jae 0x1002060b
mov dword [ebp - 0x32c], 1
jmp 0x10020615
mov dword [ebp - 0x32c], 0
mov edx, dword [ebp - 0x328]
cmp edx, dword [ebp - 0x32c]
jg 0x10020659
mov eax, dword [ebp - 0x30]
sub eax, 1
mov ecx, dword [ebp - 0x2c]
sbb ecx, 0
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], ecx
mov edx, dword [0x1007fc38]
mov dword [ebp - 0x28], edx
mov eax, dword [0x1007f158]
add eax, dword [0x1007f188]
mov ecx, dword [0x1007f158]
add ecx, eax
mov dword [0x1007f158], ecx
jmp 0x10020693
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x7dc], eax
sub edx, 0xd0c0e3d3
mov dword [ebp - 0x28], edx
push 0
push 0xefb3
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp - 0x40]
push edx
call fcn.1005a1b0
mov ecx, dword [ebp - 0x28]
xor esi, esi
push edx
push eax
push esi
push ecx
call fcn.1005a1b0
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0xd8]
add edx, 0x11c
mov dword [ebp - 0x1a0], edx
movsx eax, word [ebp - 0x18]
cmp dword [ebp - 0x80], eax
jne 0x100206ba
mov dword [ebp - 0x330], 1
jmp 0x100206c4
mov dword [ebp - 0x330], 0
cmp dword [ebp - 0x80], 0x1e
jne 0x100206d6
mov dword [ebp - 0x334], 1
jmp 0x100206e0
mov dword [ebp - 0x334], 0
mov ecx, dword [ebp - 0x330]
cmp ecx, dword [ebp - 0x334]
jl 0x10020769
movzx eax, word [0x1007f1a0]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
mov dword [ebp - 0x488], eax
mov dword [ebp - 0x484], edx
mov dword [ebp - 0x490], ecx
mov dword [ebp - 0x48c], esi
mov edx, dword [ebp - 0x484]
cmp edx, dword [ebp - 0x48c]
jb 0x10020746
ja 0x10020732
mov eax, dword [ebp - 0x488]
cmp eax, dword [ebp - 0x490]
jb 0x10020746
mov ecx, dword [0x1007f144]
push ecx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov dword [0x1007f170], eax
jmp 0x10020767
mov edx, 4
mov word [ebp - 0x1c], dx
movzx eax, word [0x1007f128]
movsx ecx, word [ebp - 0x18]
not ecx
add eax, ecx
movsx edx, word [ebp - 0x18]
xor eax, edx
mov dword [ebp - 0x5c], eax
jmp 0x1002077b
mov eax, dword [ebp - 0x64]
or eax, dword [ebp - 0x60]
je 0x1002077b
mov dword [0x1007f144], 2
mov ecx, dword [ebp - 0xd8]
add ecx, 0x3e6
mov dword [ebp - 0x47c], ecx
movsx edx, word [ebp - 0x18]
cmp dword [ebp - 0x88], edx
jge 0x1002088b
cmp dword [ebp - 0x74], 0
jne 0x100207bb
movzx eax, word [0x1007f168]
test eax, eax
je 0x100207bb
mov ecx, 0x6c4aa89b
or ecx, 0x65aef
jne 0x100207cf
movsx edx, word [ebp - 0x18]
push edx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov word [ebp - 0x1c], ax
jmp 0x10020889
movzx eax, word [0x1007f14c]
cmp eax, 0x7995
jle 0x100207e9
mov dword [ebp - 0xf4], 1
jmp 0x100207f3
mov dword [ebp - 0xf4], 0
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
movsx eax, word [ebp - 0x24]
cdq
mov dword [ebp - 0x498], ecx
mov dword [ebp - 0x494], esi
mov dword [ebp - 0x4a0], eax
mov dword [ebp - 0x49c], edx
mov edx, dword [ebp - 0x494]
cmp edx, dword [ebp - 0x49c]
jb 0x10020840
ja 0x10020834
mov eax, dword [ebp - 0x498]
cmp eax, dword [ebp - 0x4a0]
jb 0x10020840
mov dword [ebp - 0xf8], 1
jmp 0x1002084a
mov dword [ebp - 0xf8], 0
mov ecx, dword [ebp - 0xf4]
cmp ecx, dword [ebp - 0xf8]
jge 0x10020889
mov edx, dword [0x1007f1bc]
add edx, dword [0x1007f158]
mov eax, dword [ebp - 0x80]
imul eax, edx
mov dword [0x1007f140], eax
movsx ecx, word [ebp - 0x24]
sub ecx, dword [ebp - 0x54]
mov word [ebp - 0x24], cx
mov edx, dword [0x1007f1c0]
add edx, 0xfada07e4
mov byte [ebp - 0x12], dl
jmp 0x100208c1
movsx eax, word [ebp - 0x24]
cdq
add eax, dword [0x1007f1b0]
adc edx, dword [0x1007f1b4]
add eax, dword [0x1007f1b0]
adc edx, dword [0x1007f1b4]
mov dword [0x1007f1b0], eax
mov dword [0x1007f1b4], edx
movsx eax, byte [ebp - 0x12]
add eax, dword [0x1007f154]
mov word [ebp - 0x18], ax
mov ecx, dword [0x1007fc38]
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 4], 0
jmp 0x100208e5
jmp 0x10020905
jmp 0x1002092f
jmp 0x10020967
jmp 0x1002098b
mov dword [ebp - 4], 0xffffffff
jmp 0x1002099b
mov ecx, dword [ebp - 0xdc]
add ecx, 0x320
mov dword [ebp - 0x424], ecx
mov edx, dword [0x1007f188]
sub edx, 0x6b
mov byte [ebp - 0x11], dl
movzx eax, word [0x1007f168]
cdq
mov esi, eax
mov edi, edx
mov eax, dword [0x1007f154]
xor ecx, ecx
push ecx
push eax
mov edx, dword [ebp - 0x78]
push edx
mov eax, dword [ebp - 0x7c]
push eax
call fcn.1005a1b0
add esi, eax
adc edi, edx
mov dword [ebp - 0x4a8], esi
mov dword [ebp - 0x4a4], edi
mov ecx, dword [ebp - 0x4a8]
or ecx, dword [ebp - 0x4a4]
jne 0x10020a0d
xor edx, edx
mov dword [ebp - 0x4b0], 1
mov dword [ebp - 0x4ac], edx
jmp 0x10020a18
xorps xmm0, xmm0
movlpd qword [ebp - 0x4b0], xmm0
mov eax, dword [0x1007f120]
not eax
or eax, dword [ebp - 0x4b0]
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0xdc]
add ecx, 0x1b5
mov dword [ebp - 0x428], ecx
movzx edx, byte [0x1007f04e]
test edx, edx
je 0x10020a60
mov eax, dword [0x1007f180]
push eax
call dword [sym.imp.USER32.dll_GetTopWindow]
xor ecx, ecx
mov dword [0x1007f138], eax
mov dword [0x1007f13c], ecx
jmp 0x10020a77
movsx eax, word [ebp - 0x24]
and eax, 0xcc52
cdq
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x58], 0x6f
mov edx, dword [ebp - 0xdc]
add edx, 0x450
mov dword [ebp - 0x7e0], edx
mov dword [ebp - 0x468], 0
mov dword [ebp - 0x464], 0
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0xe0], eax
cmp dword [ebp - 0xe0], 0
je 0x10020ae6
mov eax, dword [ebp - 0x464]
push eax
mov ecx, dword [ebp - 0xe0]
push ecx
call dword [sym.imp.USER32.dll_BeginPaint]
mov dword [ebp - 0x7e4], eax
mov edx, dword [ebp - 0x468]
push edx
mov eax, dword [ebp - 0xe0]
push eax
call dword [sym.imp.USER32.dll_EndPaint]
mov dword [ebp - 0x7e8], eax
movsx ecx, word [ebp - 0x18]
movsx edx, word [0x1007f1a8]
cmp ecx, edx
jge 0x10020b01
mov dword [ebp - 0xfc], 1
jmp 0x10020b0b
mov dword [ebp - 0xfc], 0
movzx eax, byte [0x1007f026]
movzx ecx, byte [0x1007f04e]
sub eax, ecx
cmp dword [ebp - 0xfc], eax
jge 0x10020b2f
mov dword [ebp - 0x104], 1
jmp 0x10020b39
mov dword [ebp - 0x104], 0
cmp dword [ebp - 0x3c], 0x93c0f
jl 0x10020b59
jg 0x10020b4d
cmp dword [ebp - 0x40], 0x6675bad4
jbe 0x10020b59
mov dword [ebp - 0x100], 1
jmp 0x10020b63
mov dword [ebp - 0x100], 0
cmp dword [ebp - 0x100], 0xa482
jne 0x10020b7b
mov dword [ebp - 0x108], 1
jmp 0x10020b85
mov dword [ebp - 0x108], 0
mov edx, dword [ebp - 0x104]
cmp edx, dword [ebp - 0x108]
je 0x10020bc2
movzx eax, word [0x1007f1c8]
movzx ecx, byte [0x1007f027]
not ecx
imul edx, ecx, 0xd0bfb721
sub eax, edx
not eax
mov byte [0x1007f027], al
movsx eax, word [ebp - 0x24]
sar eax, 3
cdq
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
jmp 0x10020c1c
movzx eax, byte [0x1007f026]
add eax, dword [0x1007f140]
mov word [ebp - 0x24], ax
mov ecx, dword [ebp - 0x40]
or ecx, dword [ebp - 0x3c]
je 0x10020bef
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x368], edx
mov dword [ebp - 0x364], eax
jmp 0x10020bff
mov eax, dword [ebp - 0x70]
cdq
mov dword [ebp - 0x368], eax
mov dword [ebp - 0x364], edx
mov cx, word [ebp - 0x368]
mov word [ebp - 0x18], cx
mov eax, dword [ebp - 0x58]
sub eax, 0xb
cdq
mov dword [0x1007f138], eax
mov dword [0x1007f13c], edx
mov edx, dword [0x1007fc38]
mov dword [ebp - 0xa8], edx
mov dword [0x1007f140], 1
imul eax, dword [ebp - 0x80], 0xd8e2
movzx ecx, word [0x1007f14c]
imul ecx, eax
mov word [0x1007f14c], cx
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x7ec], eax
add edx, 0x2de2
mov byte [0x1007f04e], dl
mov ecx, dword [0x1007f140]
mov dword [ebp - 0x10c], ecx
cmp dword [ebp - 0x10c], 0
je 0x10020c82
cmp dword [ebp - 0x10c], 1
je 0x10020ca4
jmp 0x10020cdc
movsx eax, word [ebp - 0x24]
sub eax, 0xb7
cdq
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov edx, dword [0x1007f1b0]
sub edx, 0x291477ac
mov word [ebp - 0x24], dx
jmp 0x10020cdc
movzx eax, word [0x1007f1b8]
sub eax, dword [0x1007f154]
movzx ecx, word [0x1007f1b8]
sub ecx, eax
mov word [0x1007f1b8], cx
movzx edx, word [0x1007f128]
imul eax, edx, 0x7582
mov ecx, dword [0x1007f154]
sub ecx, eax
mov dword [0x1007f154], ecx
mov edx, dword [ebp - 0xa8]
add edx, 0x46b
mov dword [ebp - 0x274], edx
movsx eax, byte [ebp - 0x12]
cdq
mov dword [ebp - 0x4b8], eax
mov dword [ebp - 0x4b4], edx
mov eax, dword [0x1007f1c4]
cmp eax, dword [ebp - 0x4b4]
jg 0x10020d28
jl 0x10020d1c
mov ecx, dword [0x1007f1c0]
cmp ecx, dword [ebp - 0x4b8]
jae 0x10020d28
mov dword [ebp - 0x110], 1
jmp 0x10020d32
mov dword [ebp - 0x110], 0
cmp dword [0x1007f1c4], 0
jg 0x10020d52
jl 0x10020d46
cmp dword [0x1007f1c0], 0x11
jae 0x10020d52
mov dword [ebp - 0x114], 1
jmp 0x10020d5c
mov dword [ebp - 0x114], 0
mov edx, dword [ebp - 0x110]
cmp edx, dword [ebp - 0x114]
je 0x10020f64
mov dword [ebp - 0x9c], 0x3e
mov eax, dword [0x1007f138]
mov ecx, dword [0x1007f13c]
add eax, 0xec6d
adc ecx, 0
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x54], 0
je 0x10020edb
mov edx, dword [0x1007f138]
mov eax, dword [0x1007f13c]
mov ecx, dword [ebp - 0x4c]
add edx, dword [ebp - 0x50]
adc eax, ecx
mov dword [ebp - 0x4c0], edx
mov dword [ebp - 0x4bc], eax
mov edx, dword [ebp - 0x4c0]
or edx, dword [ebp - 0x4bc]
jne 0x10020ddc
xor eax, eax
mov dword [ebp - 0x370], 1
mov dword [ebp - 0x36c], eax
jmp 0x10020de7
xorps xmm0, xmm0
movlpd qword [ebp - 0x370], xmm0
mov ecx, dword [0x1007f1b0]
not ecx
mov esi, dword [0x1007f1b4]
not esi
mov eax, dword [ebp - 0x80]
cdq
push edx
push eax
push esi
push ecx
call fcn.1005a1b0
mov ecx, eax
mov esi, edx
not ecx
not esi
add ecx, dword [ebp - 0x370]
adc esi, dword [ebp - 0x36c]
mov eax, dword [0x1007f1a4]
cdq
xor ecx, eax
xor esi, edx
mov dword [0x1007f160], ecx
mov dword [0x1007f164], esi
mov edx, dword [0x1007f178]
or edx, dword [0x1007f17c]
jne 0x10020e48
mov dword [ebp - 0x118], 1
jmp 0x10020e52
mov dword [ebp - 0x118], 0
cmp dword [0x1007f140], 0
jne 0x10020e6f
xor eax, eax
mov dword [ebp - 0x378], 1
mov dword [ebp - 0x374], eax
jmp 0x10020e7a
xorps xmm0, xmm0
movlpd qword [ebp - 0x378], xmm0
movzx ecx, word [0x1007f168]
xor ecx, dword [ebp - 0x118]
movsx edx, word [0x1007f1a8]
not edx
add edx, dword [ebp - 0x74]
imul ecx, edx
xor eax, eax
mov edx, dword [0x1007f178]
add edx, dword [ebp - 0x378]
mov esi, dword [0x1007f17c]
adc esi, dword [ebp - 0x374]
not edx
not esi
mov edi, dword [0x1007f188]
add edi, dword [ebp - 0x30]
mov ebx, dword [0x1007f18c]
adc ebx, dword [ebp - 0x2c]
xor edx, edi
xor esi, ebx
push esi
push edx
push eax
push ecx
call fcn.1005a1b0
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
jmp 0x10020f40
cmp dword [0x1007f144], 0
jne 0x10020f40
mov eax, dword [0x1007f120]
or eax, dword [0x1007f124]
je 0x10020f1d
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x4c8], ecx
mov dword [ebp - 0x4c4], edx
mov eax, dword [ebp - 0x4c8]
or eax, dword [ebp - 0x4c4]
je 0x10020f1d
mov dword [ebp - 0x11c], 1
jmp 0x10020f27
mov dword [ebp - 0x11c], 0
mov ecx, dword [ebp - 0x11c]
not ecx
test ecx, ecx
jne 0x10020f40
movsx edx, word [ebp - 0x20]
sub edx, 0x546f3a89
mov dword [ebp - 0x70], edx
mov eax, dword [ebp - 0x9c]
add eax, 1
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 0x441
jl 0x10020d91
jmp 0x10021084
movzx ecx, word [0x1007f1c8]
test ecx, ecx
je 0x10020f99
movsx eax, word [ebp - 0x20]
cdq
xor eax, 0xd9553c2e
mov byte [0x1007f026], al
movsx eax, word [ebp - 0x24]
cdq
add eax, dword [ebp - 0x40]
mov word [ebp - 0x24], ax
mov dword [0x1007f158], 0x97
jmp 0x10021084
mov edx, dword [0x1007f1d0]
mov eax, dword [0x1007f1d4]
mov dword [ebp - 0x4d0], edx
mov dword [ebp - 0x4cc], eax
mov ecx, dword [ebp - 0x4d0]
or ecx, dword [ebp - 0x4cc]
jne 0x10020fca
mov dword [ebp - 0x120], 1
jmp 0x10020fd4
mov dword [ebp - 0x120], 0
movsx edx, byte [ebp - 0x12]
cmp dword [ebp - 0x120], edx
je 0x10021032
cmp dword [ebp - 0x70], 0
jne 0x10020ff2
mov dword [ebp - 0x124], 1
jmp 0x10020ffc
mov dword [ebp - 0x124], 0
cmp dword [ebp - 0x28], 0
jne 0x1002100e
mov dword [ebp - 0x128], 1
jmp 0x10021018
mov dword [ebp - 0x128], 0
mov eax, dword [ebp - 0x124]
cmp eax, dword [ebp - 0x128]
je 0x10021032
mov dword [ebp - 0x12c], 0
jmp 0x1002103c
mov dword [ebp - 0x12c], 1
mov ecx, dword [ebp - 0x12c]
not ecx
test ecx, ecx
je 0x10021084
mov edx, dword [0x1007f190]
mov eax, dword [0x1007f194]
mov dword [ebp - 0x7f0], eax
add edx, 0x75
mov byte [0x1007f026], dl
push 0
push 0x1afb51fb
mov ecx, dword [ebp - 0x68]
push ecx
mov edx, dword [ebp - 0x6c]
push edx
call fcn.1005a1b0
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov al, byte [0x1007fc38]
mov byte [ebp - 0x11], al
mov ecx, dword [ebp - 0xa8]
add ecx, 0x27b
mov dword [ebp - 0x438], ecx
mov dword [ebp - 0xa4], 0x2a
mov dx, word [0x1007f178]
mov word [ebp - 0x24], dx
movzx eax, byte [0x1007f04e]
imul eax, dword [ebp - 0x54]
not eax
movzx ecx, byte [0x1007f04e]
movsx edx, word [ebp - 0x18]
not edx
imul ecx, edx
add eax, ecx
movsx ecx, byte [ebp - 0x11]
not ecx
movsx edx, word [ebp - 0x24]
sub ecx, edx
movsx edx, word [0x1007f15c]
movsx esi, word [0x1007f15c]
imul edx, esi
imul ecx, edx
sub eax, ecx
not eax
mov byte [ebp - 0x13], al
mov eax, dword [ebp - 0x64]
add eax, 0x46f53f9c
mov ecx, dword [ebp - 0x60]
adc ecx, 0xc8be9
mov edx, dword [0x1007f120]
sub edx, eax
mov eax, dword [0x1007f124]
sbb eax, ecx
mov dword [0x1007f120], edx
mov dword [0x1007f124], eax
mov byte [ebp - 0x11], 2
mov ecx, dword [ebp - 0x28]
xor esi, esi
movzx eax, byte [0x1007f04e]
add eax, 0x53be
cdq
mov edi, dword [ebp - 0x4c]
sub eax, dword [ebp - 0x50]
sbb edx, edi
push edx
push eax
push esi
push ecx
call fcn.1005a1b0
mov byte [0x1007f026], al
mov edx, dword [ebp - 0x74]
xor eax, eax
sub edx, 0x39282c6a
sbb eax, 0x99cae
mov dword [0x1007f138], edx
mov dword [0x1007f13c], eax
mov eax, dword [ebp - 0x58]
cdq
mov ecx, dword [ebp - 0x78]
push ecx
mov ecx, dword [ebp - 0x7c]
push ecx
push edx
push eax
call fcn.1005a1b0
mov dword [ebp - 0x58], eax
mov dl, byte [ebp - 0x11]
mov byte [ebp - 0xa0], dl
cmp byte [ebp - 0xa0], 0
je 0x100211a2
cmp byte [ebp - 0xa0], 1
je 0x100211da
cmp byte [ebp - 0xa0], 2
je 0x10021200
jmp 0x10021274
movsx eax, word [ebp - 0x24]
xor eax, dword [0x1007f158]
mov ecx, dword [0x1007f158]
sub ecx, eax
mov dword [0x1007f158], ecx
mov edx, dword [ebp - 0x84]
sub edx, 0x2e
mov byte [ebp - 0x12], dl
mov eax, dword [ebp - 0x54]
cdq
add eax, 0x3d2c437e
mov dword [ebp - 0x88], eax
jmp 0x10021274
movzx eax, word [ebp - 0x1c]
mov ecx, dword [ebp - 0x28]
imul ecx, eax
mov dword [ebp - 0x28], ecx
movzx edx, byte [ebp - 0x13]
imul eax, edx, 0xf5a20517
xor ecx, ecx
mov dword [0x1007f198], eax
mov dword [0x1007f19c], ecx
jmp 0x10021274
mov edx, dword [0x1007f1c0]
sub edx, 0xfb31cf35
mov eax, dword [0x1007f1c4]
sbb eax, 0xab6b2
mov ecx, dword [ebp - 0x6c]
sub ecx, edx
mov edx, dword [ebp - 0x68]
sbb edx, eax
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], edx
movzx eax, byte [0x1007f027]
test eax, eax
jne 0x1002123d
mov dword [ebp - 0x130], 1
jmp 0x10021247
mov dword [ebp - 0x130], 0
movsx ecx, word [ebp - 0x20]
imul ecx, dword [ebp - 0x130]
mov byte [0x1007f04e], cl
mov edx, dword [0x1007f1c0]
add edx, 1
mov eax, dword [0x1007f1c4]
adc eax, 0
mov dword [0x1007f1c0], edx
mov dword [0x1007f1c4], eax
mov ecx, dword [ebp - 0xa4]
add ecx, 1
mov dword [ebp - 0xa4], ecx
cmp dword [ebp - 0xa4], 0x45b
jl 0x1002111c
mov edx, dword [ebp - 0xa8]
add edx, 0x463
mov dword [ebp - 0x270], edx
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x4d8], eax
mov dword [ebp - 0x4d4], ecx
mov edx, dword [ebp - 0x4d8]
or edx, dword [ebp - 0x4d4]
je 0x10021395
mov dword [0x1007f144], 0x19044891
movzx eax, word [0x1007f1c8]
movzx ecx, word [0x1007f16c]
add eax, ecx
cdq
mov ecx, dword [0x1007f120]
xor ecx, 0xffffff46
mov esi, dword [0x1007f124]
xor esi, 0xffffffff
add eax, ecx
adc edx, esi
mov dword [ebp - 0x4e0], eax
mov dword [ebp - 0x4dc], edx
mov edx, dword [ebp - 0x4e0]
or edx, dword [ebp - 0x4dc]
jne 0x10021323
mov dword [ebp - 0x134], 1
jmp 0x1002132d
mov dword [ebp - 0x134], 0
movzx eax, word [0x1007f14c]
cdq
mov ecx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x4c]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x4e8], ecx
mov dword [ebp - 0x4e4], esi
mov edx, dword [ebp - 0x4e8]
or edx, dword [ebp - 0x4e4]
jne 0x10021365
mov dword [ebp - 0x138], 1
jmp 0x1002136f
mov dword [ebp - 0x138], 0
mov eax, dword [ebp - 0x134]
sub eax, dword [ebp - 0x138]
mov word [0x1007f128], ax
movzx ecx, word [0x1007f14c]
sub ecx, 0x1cf176fb
mov word [0x1007f16c], cx
cmp dword [ebp - 0x88], 0
je 0x100213aa
imul edx, dword [ebp - 0x80], 0x7e630fff
mov dword [ebp - 0x28], edx
jmp 0x10021407
cmp dword [0x1007f154], 0
je 0x10021407
movsx eax, word [ebp - 0x20]
cdq
push 0xa0ff
push 0x9e641e94
push edx
push eax
call fcn.1005a1b0
mov word [0x1007f128], ax
mov eax, dword [ebp - 0x54]
cdq
add eax, 0x91521d
adc edx, 0xa741
mov ecx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x4c]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], esi
mov eax, dword [0x1007f144]
cdq
mov edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x7f4], ecx
sub eax, edx
mov dword [0x1007f144], eax
xor edx, edx
mov eax, dword [0x1007f1d0]
mov ecx, dword [0x1007f1d4]
and eax, dword [ebp - 0x84]
and ecx, edx
mov dword [0x1007f190], eax
mov dword [0x1007f194], ecx
movsx edx, word [ebp - 0x18]
sub edx, dword [ebp - 0x70]
jne 0x10021444
xor eax, eax
mov dword [ebp - 0x388], 1
mov dword [ebp - 0x384], eax
jmp 0x1002144f
xorps xmm0, xmm0
movlpd qword [ebp - 0x388], xmm0
cmp dword [0x1007f154], 0
jne 0x1002146c
xor ecx, ecx
mov dword [ebp - 0x380], 1
mov dword [ebp - 0x37c], ecx
jmp 0x10021477
xorps xmm0, xmm0
movlpd qword [ebp - 0x380], xmm0
mov edx, dword [ebp - 0x3c]
push edx
mov eax, dword [ebp - 0x40]
push eax
mov ecx, dword [ebp - 0x37c]
push ecx
mov edx, dword [ebp - 0x380]
push edx
call fcn.1005a1b0
mov esi, dword [ebp - 0x388]
sub esi, eax
mov edi, dword [ebp - 0x384]
sbb edi, edx
movsx eax, byte [ebp - 0x11]
cdq
mov ebx, eax
mov eax, edx
mov dword [ebp - 0x46c], eax
mov eax, dword [0x1007f1a4]
cdq
mov ecx, dword [0x1007f138]
mov dword [ebp - 0x470], edi
mov edi, dword [0x1007f13c]
push edx
push eax
push edi
push ecx
call fcn.1005a1b0
add ebx, eax
mov edi, dword [ebp - 0x46c]
adc edi, edx
not ebx
not edi
sub esi, ebx
mov ebx, dword [ebp - 0x470]
sbb ebx, edi
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], ebx
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x4f0], edx
mov dword [ebp - 0x4ec], eax
mov ecx, dword [ebp - 0x4f0]
or ecx, dword [ebp - 0x4ec]
jne 0x1002152a
mov edx, dword [0x1007f1c0]
or edx, dword [0x1007f1c4]
jne 0x1002152a
mov dword [ebp - 0x13c], 0
jmp 0x10021534
mov dword [ebp - 0x13c], 1
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x4f8], eax
mov dword [ebp - 0x4f4], ecx
cmp dword [ebp - 0x4f4], 0
jl 0x10021569
jg 0x1002155d
cmp dword [ebp - 0x4f8], 0x3dc6
jb 0x10021569
mov dword [ebp - 0x140], 1
jmp 0x10021573
mov dword [ebp - 0x140], 0
mov edx, dword [ebp - 0x13c]
cmp edx, dword [ebp - 0x140]
jle 0x1002174f
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x500], eax
mov dword [ebp - 0x4fc], ecx
mov edx, dword [ebp - 0x500]
or edx, dword [ebp - 0x4fc]
jne 0x100215dc
movsx eax, byte [ebp - 0x11]
cdq
mov dword [ebp - 0x508], eax
mov dword [ebp - 0x504], edx
mov eax, dword [ebp - 0x504]
cmp eax, dword [0x1007f1b4]
jl 0x1002174f
jg 0x100215dc
mov ecx, dword [ebp - 0x508]
cmp ecx, dword [0x1007f1b0]
jbe 0x1002174f
movsx edx, word [0x1007f148]
push edx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov byte [ebp - 0x11], al
movsx eax, byte [ebp - 0x11]
test eax, eax
jle 0x10021601
mov dword [ebp - 0x144], 1
jmp 0x1002160b
mov dword [ebp - 0x144], 0
movsx ecx, byte [ebp - 0x11]
cmp ecx, 9
jle 0x10021620
mov dword [ebp - 0x148], 1
jmp 0x1002162a
mov dword [ebp - 0x148], 0
mov edx, dword [ebp - 0x144]
cmp edx, dword [ebp - 0x148]
jl 0x100216ff
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
mov edx, dword [0x1007f170]
xor esi, esi
mov dword [ebp - 0x510], eax
mov dword [ebp - 0x50c], ecx
mov dword [ebp - 0x518], edx
mov dword [ebp - 0x514], esi
mov eax, dword [ebp - 0x50c]
cmp eax, dword [ebp - 0x514]
jl 0x1002168c
jg 0x10021680
mov ecx, dword [ebp - 0x510]
cmp ecx, dword [ebp - 0x518]
jbe 0x1002168c
mov dword [ebp - 0x14c], 1
jmp 0x10021696
mov dword [ebp - 0x14c], 0
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x520], edx
mov dword [ebp - 0x51c], eax
cmp dword [ebp - 0x51c], 0
jl 0x100216c8
jg 0x100216bc
cmp dword [ebp - 0x520], 0x3e
jbe 0x100216c8
mov dword [ebp - 0x150], 1
jmp 0x100216d2
mov dword [ebp - 0x150], 0
mov ecx, dword [ebp - 0x14c]
cmp ecx, dword [ebp - 0x150]
jg 0x100216fd
mov edx, 4
mov word [ebp - 0x20], dx
mov ecx, dword [ebp - 0x64]
not ecx
movzx eax, word [0x1007f128]
not eax
cdq
add ecx, eax
mov dword [ebp - 0x70], ecx
jmp 0x1002174d
mov edx, dword [0x1007f178]
add edx, dword [ebp - 0x6c]
mov eax, dword [0x1007f17c]
adc eax, dword [ebp - 0x68]
push eax
push edx
mov ecx, dword [0x1007f17c]
push ecx
mov edx, dword [0x1007f178]
push edx
call fcn.1005a1b0
mov dword [0x1007f178], eax
mov dword [0x1007f17c], edx
movsx eax, word [0x1007f15c]
cdq
mov ecx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
push edx
push eax
push esi
push ecx
call fcn.1005a1b0
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
jmp 0x100217b4
movzx edx, byte [ebp - 0x13]
or edx, 0x44
imul eax, edx, 0
not eax
test eax, eax
je 0x100217b4
movzx ecx, word [0x1007f16c]
test ecx, ecx
je 0x10021780
mov edx, dword [ebp - 0x84]
xor eax, eax
mov dword [ebp - 0x390], edx
mov dword [ebp - 0x38c], eax
jmp 0x10021798
mov ecx, dword [0x1007f190]
mov edx, dword [0x1007f194]
mov dword [ebp - 0x390], ecx
mov dword [ebp - 0x38c], edx
mov eax, dword [ebp - 0x390]
mov dword [ebp - 0x28], eax
movzx ecx, word [0x1007f1b8]
movsx edx, word [ebp - 0x18]
and ecx, edx
mov byte [0x1007f04e], cl
xor eax, eax
mov byte [ebp - 0x8e], al
push 0x104
lea ecx, [ebp - 0x1940]
push ecx
lea edx, [ebp - 0x89e]
push edx
lea ecx, [ebp - 0x8e]
call fcn.10002640
mov ecx, eax
call fcn.10030f30
push eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
jne 0x100221ab
mov eax, dword [0x1007f1bc]
not eax
xor ecx, ecx
mov dword [ebp - 0x528], eax
mov dword [ebp - 0x524], ecx
mov edx, dword [ebp - 0x528]
cmp edx, dword [ebp - 0x40]
jne 0x10021827
mov eax, dword [ebp - 0x524]
cmp eax, dword [ebp - 0x3c]
jne 0x10021827
mov dword [ebp - 0x154], 1
jmp 0x10021831
mov dword [ebp - 0x154], 0
movzx ecx, byte [0x1007f027]
test ecx, ecx
jne 0x10021850
movsx edx, byte [ebp - 0x11]
test edx, edx
je 0x10021850
mov dword [ebp - 0x158], 1
jmp 0x1002185a
mov dword [ebp - 0x158], 0
mov eax, dword [ebp - 0x154]
cmp eax, dword [ebp - 0x158]
jle 0x10021874
mov dword [ebp - 0x168], 1
jmp 0x1002187e
mov dword [ebp - 0x168], 0
mov ecx, dword [0x1007f188]
or ecx, dword [0x1007f18c]
jne 0x10021898
mov dword [ebp - 0x15c], 1
jmp 0x100218a2
mov dword [ebp - 0x15c], 0
mov edx, dword [0x1007f170]
cmp edx, dword [ebp - 0x15c]
jne 0x100218bc
mov dword [ebp - 0x160], 1
jmp 0x100218c6
mov dword [ebp - 0x160], 0
mov eax, dword [0x1007f160]
mov ecx, dword [0x1007f164]
mov dword [ebp - 0x530], eax
mov dword [ebp - 0x52c], ecx
mov edx, dword [ebp - 0x530]
or edx, dword [ebp - 0x52c]
je 0x10021904
mov eax, dword [0x1007f1c0]
or eax, dword [0x1007f1c4]
je 0x10021904
mov dword [ebp - 0x164], 1
jmp 0x1002190e
mov dword [ebp - 0x164], 0
mov ecx, dword [ebp - 0x160]
imul ecx, dword [ebp - 0x164]
cmp dword [ebp - 0x168], ecx
jne 0x10021a18
mov dword [ebp - 4], 2
cmp dword [0x1007f170], 0
je 0x1002196e
movzx eax, byte [ebp - 0x13]
cdq
add eax, dword [0x1007f120]
adc edx, dword [0x1007f124]
mov dword [0x1007f120], eax
mov dword [0x1007f124], edx
movsx edx, word [0x1007f1a8]
add edx, 0x3c
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], ecx
jmp 0x100219ad
movsx edx, byte [ebp - 0x12]
cmp edx, 0x1fd5
je 0x100219ad
movzx eax, word [0x1007f168]
mov ecx, dword [0x1007f144]
xor ecx, eax
mov edx, dword [0x1007f144]
and edx, ecx
mov dword [0x1007f144], edx
mov al, byte [0x1007f188]
mov ecx, 1
imul edx, ecx, 0x5c59
mov byte [edx + 0x10316e28], al
jmp 0x10021a08
mov dword [ebp - 4], 0xffffffff
jmp 0x10021a18
movzx eax, word [0x1007f1c8]
cdq
mov ecx, 8
imul ecx, ecx, 0x50
mov dword [ecx + 0x1016a990], eax
mov dword [ecx + 0x1016a994], edx
cmp dword [ebp - 0x88], 0
jne 0x10021a51
xor edx, edx
mov dword [ebp - 0x398], 1
mov dword [ebp - 0x394], edx
jmp 0x10021a5c
xorps xmm0, xmm0
movlpd qword [ebp - 0x398], xmm0
mov eax, dword [ebp - 0x6c]
or eax, dword [ebp - 0x68]
jne 0x10021a70
mov dword [ebp - 0x16c], 1
jmp 0x10021a7a
mov dword [ebp - 0x16c], 0
mov ecx, dword [ebp - 0x398]
or ecx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x394]
or esi, dword [ebp - 0x60]
movsx eax, byte [ebp - 0x12]
cdq
add ecx, eax
adc esi, edx
movsx eax, byte [ebp - 0x12]
mov edx, dword [ebp - 0x16c]
sub edx, dword [0x1007f140]
not edx
sub eax, edx
cdq
push edx
push eax
push esi
push ecx
call fcn.1005a1b0
mov word [0x1007f16c], ax
mov eax, dword [0x1007f144]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
push esi
push ecx
push edx
push eax
call fcn.1005a1b0
mov ecx, eax
mov eax, dword [0x1007f144]
cdq
or eax, ecx
mov dword [0x1007f144], eax
mov edx, dword [0x1007fc38]
mov dword [ebp - 0xac], edx
movzx eax, word [0x1007f1c8]
cdq
mov dword [ebp - 0x538], eax
mov dword [ebp - 0x534], edx
mov eax, dword [0x1007f17c]
cmp eax, dword [ebp - 0x534]
jg 0x10021b6f
jl 0x10021b1a
mov ecx, dword [0x1007f178]
cmp ecx, dword [ebp - 0x538]
ja 0x10021b6f
movzx eax, word [0x1007f1a0]
add eax, 0xd18b
cdq
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x54]
cdq
mov ecx, eax
mov esi, edx
add ecx, dword [0x1007f1c0]
adc esi, dword [0x1007f1c4]
mov eax, dword [ebp - 0x54]
cdq
push esi
push ecx
push edx
push eax
call fcn.1005a1b0
mov dword [ebp - 0x54], eax
mov edx, 8
imul eax, edx, 0x15
mov edx, dword [0x1007f140]
mov cl, byte [eax + 0x103a7f40]
shl edx, cl
mov dword [0x1007f140], edx
jmp 0x10021bcd
mov eax, dword [0x1007f190]
mov ecx, dword [0x1007f194]
mov dword [ebp - 0x540], eax
mov dword [ebp - 0x53c], ecx
mov edx, dword [ebp - 0x540]
or edx, dword [ebp - 0x53c]
je 0x10021bcd
movzx eax, byte [0x1007f04e]
cdq
mov ecx, eax
sub ecx, dword [ebp - 0x40]
movsx eax, byte [ebp - 0x11]
cdq
mov esi, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x7f8], edx
sub esi, eax
mov eax, dword [ebp - 0x88]
cdq
sub esi, eax
sub ecx, esi
mov dword [ebp - 0x28], ecx
mov eax, dword [0x1007f120]
sub eax, 0xb
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0xac]
add ecx, 0x264
mov dword [ebp - 0x170], ecx
movsx edx, word [ebp - 0x20]
test edx, edx
je 0x10021de1
mov eax, dword [0x1007f138]
mov ecx, dword [0x1007f13c]
mov dword [ebp - 0x548], eax
mov dword [ebp - 0x544], ecx
mov edx, dword [ebp - 0x548]
or edx, dword [ebp - 0x544]
je 0x10021c3b
mov ecx, 9
mov esi, str.Failedtoinitialize
lea edi, [ebp - 0x848]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea eax, [ebp - 0x848]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov byte [0x1007f04e], al
jmp 0x10021de1
mov ecx, dword [0x1007f130]
mov edx, dword [0x1007f134]
mov dword [ebp - 0x550], ecx
mov dword [ebp - 0x54c], edx
mov eax, dword [ebp - 0x550]
or eax, dword [ebp - 0x54c]
je 0x10021ce0
mov ecx, dword [ebp - 0x68]
push ecx
mov edx, dword [ebp - 0x6c]
push edx
mov eax, dword [0x1007f124]
push eax
mov ecx, dword [0x1007f120]
push ecx
call fcn.1005a1b0
mov dword [0x1007f120], eax
mov dword [0x1007f124], edx
mov edx, dword [ebp - 0x44]
mov ecx, dword [0x1007f1c0]
sub ecx, dword [ebp - 0x48]
mov esi, dword [0x1007f1c4]
sbb esi, edx
not ecx
not esi
xor edx, edx
mov eax, dword [0x1007f178]
sub eax, dword [ebp - 0x74]
mov edi, dword [0x1007f17c]
sbb edi, edx
sub ecx, eax
sbb esi, edi
movzx edx, byte [0x1007f026]
movzx eax, word [0x1007f128]
sub edx, eax
mov eax, dword [ebp - 0x70]
lea eax, [eax + edx - 0xec]
cdq
push edx
push eax
push esi
push ecx
call fcn.1005a1b0
mov dword [ebp - 0x5c], eax
jmp 0x10021de1
mov ecx, 0x3d5b
test ecx, ecx
je 0x10021d00
xor edx, edx
mov dword [0x1007f178], 0x40
mov dword [0x1007f17c], edx
jmp 0x10021de1
movzx eax, word [0x1007f128]
test eax, eax
jne 0x10021d2a
movzx ecx, word [0x1007f168]
test ecx, ecx
jne 0x10021d2a
xor edx, edx
mov dword [ebp - 0x3a0], 1
mov dword [ebp - 0x39c], edx
jmp 0x10021d35
xorps xmm0, xmm0
movlpd qword [ebp - 0x3a0], xmm0
mov eax, dword [ebp - 0x3a0]
add eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x39c]
adc ecx, dword [ebp - 0x60]
not eax
not ecx
mov dword [ebp - 0x558], eax
mov dword [ebp - 0x554], ecx
mov edx, dword [ebp - 0x558]
or edx, dword [ebp - 0x554]
je 0x10021de1
movsx eax, byte [ebp - 0x12]
cdq
mov ecx, 8
imul ecx, ecx, 0x242f
mov dword [ecx + 0x1007fc40], eax
mov dword [ecx + 0x1007fc44], edx
mov eax, dword [0x1007f140]
cdq
mov ecx, dword [0x1007f138]
mov esi, dword [0x1007f13c]
push esi
push ecx
push edx
push eax
call fcn.1005a1b0
mov esi, eax
mov edi, edx
movzx eax, byte [ebp - 0x13]
cdq
mov ebx, eax
mov eax, edx
movzx edx, byte [0x1007f026]
mov dword [ebp - 0x474], eax
mov eax, edx
cdq
mov ecx, dword [ebp - 0x2c]
push ecx
mov ecx, dword [ebp - 0x30]
push ecx
push edx
push eax
call fcn.1005a1b0
sub ebx, eax
mov eax, dword [ebp - 0x474]
sbb eax, edx
push eax
push ebx
push edi
push esi
call fcn.1005a1b0
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
mov edx, dword [ebp - 0xac]
add edx, 0x259
mov dword [ebp - 0x7fc], edx
movzx eax, word [0x1007f14c]
imul eax, dword [ebp - 0x58]
movzx ecx, word [0x1007f14c]
sub ecx, eax
mov word [0x1007f14c], cx
movzx eax, word [0x1007f168]
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov edx, dword [ebp - 0x7c]
not edx
imul eax, dword [ebp - 0x28], 0x9b
sub edx, eax
mov dword [ebp - 0x54], edx
mov ecx, dword [ebp - 0xac]
add ecx, 0x408
mov dword [ebp - 0x478], ecx
mov edx, dword [ebp - 0x28]
imul edx, dword [0x1007f1a4]
mov eax, dword [ebp - 0x28]
sub eax, edx
mov dword [ebp - 0x28], eax
mov ecx, dword [0x1007f190]
mov edx, dword [0x1007f194]
add ecx, dword [0x1007f178]
adc edx, dword [0x1007f17c]
mov eax, dword [0x1007f190]
mov esi, dword [0x1007f194]
xor eax, ecx
xor esi, edx
mov dword [0x1007f190], eax
mov dword [0x1007f194], esi
mov eax, dword [ebp - 0x80]
sar eax, 7
cdq
mov dword [0x1007f198], eax
mov dword [0x1007f19c], edx
mov ecx, dword [ebp - 0x170]
sub ecx, dword [ebp - 0x170]
mov edx, dword [ebp - 0x478]
xor edx, 0x35f
cmp ecx, edx
je 0x100221ab
movzx eax, word [0x1007f16c]
cdq
mov dword [0x1007f138], eax
mov dword [0x1007f13c], edx
mov eax, dword [ebp - 0x64]
add eax, dword [0x1007f1c0]
mov dword [ebp - 0x5c], eax
movsx eax, byte [ebp - 0x11]
cdq
mov dword [ebp - 0x560], eax
mov dword [ebp - 0x55c], edx
mov ecx, dword [ebp - 0x560]
cmp ecx, dword [0x1007f120]
jne 0x10021f0d
mov edx, dword [ebp - 0x55c]
cmp edx, dword [0x1007f124]
jne 0x10021f0d
mov dword [ebp - 0x174], 1
jmp 0x10021f17
mov dword [ebp - 0x174], 0
movsx eax, byte [ebp - 0x11]
cmp eax, 0x2f
jne 0x10021f2c
mov dword [ebp - 0x178], 1
jmp 0x10021f36
mov dword [ebp - 0x178], 0
mov ecx, dword [ebp - 0x174]
cmp ecx, dword [ebp - 0x178]
jle 0x1002217b
mov eax, dword [ebp - 0x80]
cdq
mov ecx, dword [0x1007f1b0]
not ecx
mov esi, dword [0x1007f1b4]
not esi
mov dword [ebp - 0x568], eax
mov dword [ebp - 0x564], edx
mov dword [ebp - 0x570], ecx
mov dword [ebp - 0x56c], esi
mov edx, dword [ebp - 0x564]
cmp edx, dword [ebp - 0x56c]
jg 0x10021f9e
jl 0x10021f92
mov eax, dword [ebp - 0x568]
cmp eax, dword [ebp - 0x570]
ja 0x10021f9e
mov dword [ebp - 0x17c], 1
jmp 0x10021fa8
mov dword [ebp - 0x17c], 0
cmp dword [ebp - 0x84], 0
jne 0x10021fc5
xor ecx, ecx
mov dword [ebp - 0x3a8], 1
mov dword [ebp - 0x3a4], ecx
jmp 0x10021fd0
xorps xmm0, xmm0
movlpd qword [ebp - 0x3a8], xmm0
mov edx, dword [0x1007f160]
mov eax, dword [0x1007f164]
mov dword [ebp - 0x578], edx
mov dword [ebp - 0x574], eax
mov ecx, dword [ebp - 0x3a8]
cmp ecx, dword [ebp - 0x578]
jne 0x1002200f
mov edx, dword [ebp - 0x3a4]
cmp edx, dword [ebp - 0x574]
jne 0x1002200f
mov dword [ebp - 0x180], 1
jmp 0x10022019
mov dword [ebp - 0x180], 0
mov eax, dword [ebp - 0x17c]
cmp eax, dword [ebp - 0x180]
jge 0x10022033
mov dword [ebp - 0x18c], 1
jmp 0x1002203d
mov dword [ebp - 0x18c], 0
movzx ecx, byte [0x1007f026]
test ecx, ecx
je 0x1002205d
cmp dword [str.C], 0
jne 0x1002205d
mov dword [ebp - 0x184], 0
jmp 0x10022067
mov dword [ebp - 0x184], 1
movzx edx, byte [0x1007f026]
movzx eax, word [0x1007f168]
cmp edx, eax
jle 0x10022085
mov dword [ebp - 0x188], 1
jmp 0x1002208f
mov dword [ebp - 0x188], 0
mov ecx, dword [ebp - 0x184]
cmp ecx, dword [ebp - 0x188]
jne 0x100220a9
mov dword [ebp - 0x190], 1
jmp 0x100220b3
mov dword [ebp - 0x190], 0
mov edx, dword [ebp - 0x18c]
cmp edx, dword [ebp - 0x190]
jl 0x100220cd
mov dword [ebp - 0x194], 1
jmp 0x100220d7
mov dword [ebp - 0x194], 0
mov eax, dword [ebp - 0x194]
not eax
test eax, eax
je 0x100220fe
mov cl, byte [ebp - 0x11]
add cl, 1
mov byte [ebp - 0x11], cl
mov edx, dword [ebp - 0x28]
xor eax, eax
mov dword [0x1007f1b0], edx
mov dword [0x1007f1b4], eax
jmp 0x10022179
mov eax, dword [0x1007f188]
mov edx, dword [0x1007f18c]
mov cl, 4
call fcn.1005a1f0
mov dword [ebp - 0x58], eax
mov ecx, dword [0x1007f158]
xor edx, edx
mov eax, dword [ebp - 0x5c]
xor esi, esi
add eax, dword [ebp - 0x6c]
adc esi, dword [ebp - 0x68]
add ecx, eax
adc edx, esi
mov dword [ebp - 0x580], ecx
mov dword [ebp - 0x57c], edx
mov ecx, dword [ebp - 0x580]
or ecx, dword [ebp - 0x57c]
jne 0x10022152
mov edx, 1
mov word [ebp - 0x92], dx
jmp 0x1002215b
xor eax, eax
mov word [ebp - 0x92], ax
mov cx, word [ebp - 0x92]
mov word [0x1007f15c], cx
movsx edx, byte [ebp - 0x11]
mov eax, dword [ebp - 0x58]
sub eax, edx
cdq
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
jmp 0x100221a4
mov eax, dword [ebp - 0x30]
or eax, dword [ebp - 0x2c]
je 0x100221a4
mov ecx, dword [ebp - 0x28]
shl ecx, 8
xor edx, edx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], edx
movsx eax, word [0x1007f15c]
add eax, 0x1894
mov dword [ebp - 0x5c], eax
mov byte [ebp - 0x13], 2
xor eax, eax
jmp 0x1002623c
movzx eax, byte [0x1007f026]
cdq
mov dword [ebp - 0x588], eax
mov dword [ebp - 0x584], edx
mov ecx, dword [ebp - 0x60]
cmp ecx, dword [ebp - 0x584]
jg 0x10022521
jl 0x100221df
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x588]
jae 0x10022521
xor eax, eax
mov dword [ebp - 0x30], 3
mov dword [ebp - 0x2c], eax
movzx eax, byte [0x1007f026]
cdq
sub eax, 0x4480d1ef
sbb edx, 0x8a9a9
push edx
push eax
mov ecx, dword [ebp - 0x78]
push ecx
mov edx, dword [ebp - 0x7c]
push edx
call fcn.1005a1b0
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], edx
mov eax, dword [0x1007f140]
cdq
push 0x3d08
push 0x3462b68c
push edx
push eax
call fcn.1005a1b0
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xec], ecx
cmp dword [ebp - 0xec], 0
jl 0x1002251f
jg 0x1002225b
cmp dword [ebp - 0xf0], 0
jb 0x1002251f
cmp dword [ebp - 0xec], 0
jg 0x1002251f
jl 0x10022277
cmp dword [ebp - 0xf0], 3
ja 0x1002251f
mov edx, dword [ebp - 0xf0]
mov dword [ebp - 0x820], edx
mov eax, dword [ebp - 0x820]
jmp dword [eax*4 + 0x10026250]
jmp 0x10022540
mov dx, word [ebp - 0x7c]
mov word [0x1007f14c], dx
mov eax, 0x3f84c
mov dword [0x1007f1c0], 0xe31e61e5
mov dword [0x1007f1c4], eax
mov ecx, dword [ebp - 0x47c]
xor ecx, 0x363
imul edx, dword [ebp - 0x1a0], 0x24d
add ecx, edx
mov eax, dword [ebp - 0xb0]
add eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x1a0]
sub edx, dword [ebp - 0xb0]
imul eax, edx
cmp ecx, eax
je 0x10022a67
push 0
push 0
call fcn.100364f0
add esp, 8
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movzx eax, word [0x1007f128]
movsx ecx, byte [ebp - 0x11]
cmp eax, ecx
jg 0x100225b1
movsx edx, word [ebp - 0x20]
test edx, edx
jne 0x100225b1
mov dword [ebp - 0x1b0], 0
jmp 0x100225bb
mov dword [ebp - 0x1b0], 1
cmp dword [0x1007f170], 0xc316
je 0x100225d3
mov dword [ebp - 0x1a8], 1
jmp 0x100225dd
mov dword [ebp - 0x1a8], 0
movsx eax, word [ebp - 0x20]
test eax, eax
jne 0x100225f1
mov dword [ebp - 0x1a4], 1
jmp 0x100225fb
mov dword [ebp - 0x1a4], 0
movzx ecx, word [0x1007f14c]
cmp dword [ebp - 0x1a4], ecx
jg 0x10022616
mov dword [ebp - 0x1ac], 1
jmp 0x10022620
mov dword [ebp - 0x1ac], 0
mov edx, dword [ebp - 0x1a8]
cmp edx, dword [ebp - 0x1ac]
jne 0x1002263a
mov dword [ebp - 0x1b4], 1
jmp 0x10022644
mov dword [ebp - 0x1b4], 0
mov eax, dword [ebp - 0x1b0]
cmp eax, dword [ebp - 0x1b4]
jle 0x10022691
movsx ecx, word [0x1007f1a8]
sub ecx, dword [ebp - 0x28]
movsx edx, word [0x1007f1a8]
add edx, ecx
mov word [0x1007f1a8], dx
mov ecx, dword [0x1007f138]
mov edx, dword [0x1007f13c]
mov dword [ebp - 0x76c], edx
add ecx, 0xbe0a1e3b
movzx eax, word [ebp - 0x1c]
cdq
sub eax, ecx
mov word [ebp - 0x1c], ax
jmp 0x100226bb
mov eax, dword [0x1007f1b0]
add eax, 0xa6
mov dword [str.C], eax
movzx ecx, byte [ebp - 0x13]
add ecx, 0xb76b
mov dword [ebp - 0x88], ecx
imul edx, dword [ebp - 0x74], 0x46de
mov word [ebp - 0x18], dx
mov ecx, dword [0x1007f160]
mov esi, dword [0x1007f164]
movzx eax, word [0x1007f1a0]
cdq
mov dword [ebp - 0x5a0], ecx
mov dword [ebp - 0x59c], esi
mov dword [ebp - 0x5a8], eax
mov dword [ebp - 0x5a4], edx
mov edx, dword [ebp - 0x59c]
cmp edx, dword [ebp - 0x5a4]
jl 0x10022711
jg 0x10022705
mov eax, dword [ebp - 0x5a0]
cmp eax, dword [ebp - 0x5a8]
jb 0x10022711
mov dword [ebp - 0x1b8], 1
jmp 0x1002271b
mov dword [ebp - 0x1b8], 0
mov ecx, dword [0x1007f160]
mov edx, dword [0x1007f164]
mov dword [ebp - 0x5b0], ecx
mov dword [ebp - 0x5ac], edx
cmp dword [ebp - 0x5ac], 0
jl 0x10022753
jg 0x10022747
cmp dword [ebp - 0x5b0], 0x2c
jb 0x10022753
mov dword [ebp - 0x1bc], 1
jmp 0x1002275d
mov dword [ebp - 0x1bc], 0
mov eax, dword [ebp - 0x1b8]
cmp eax, dword [ebp - 0x1bc]
jg 0x100227b1
mov ecx, 2
imul edx, ecx, 0x85d7
movsx eax, word [edx + 0x100b73f0]
cdq
mov ecx, dword [0x1007f190]
mov esi, dword [0x1007f194]
add ecx, eax
adc esi, edx
mov dword [0x1007f190], ecx
mov dword [0x1007f194], esi
mov edx, 0xc97f1
mov dword [0x1007f1b0], 0x72a7cb10
mov dword [0x1007f1b4], edx
jmp 0x100227e5
xor eax, eax
je 0x100227e5
mov ecx, dword [ebp - 0x58]
sub ecx, 0x5651
movzx edx, word [ebp - 0x1c]
sub edx, ecx
mov word [ebp - 0x1c], dx
xor eax, eax
mov dword [ebp - 0x50], 0x7a46
mov dword [ebp - 0x4c], eax
movzx eax, byte [0x1007f026]
cdq
sub eax, 0xd77e1a69
mov word [ebp - 0x18], ax
xor ecx, ecx
mov byte [ebp - 0x8d], cl
push 0x104
lea edx, [ebp - 0x1738]
push edx
lea eax, [ebp - 0x8fe]
push eax
lea ecx, [ebp - 0x8d]
call fcn.100029e0
mov ecx, eax
call fcn.10030e30
push eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
jne 0x10022a67
mov cx, word [ebp - 0x7c]
mov edx, 2
imul eax, edx, 0x58f8
mov word [eax + 0x10355558], cx
mov ecx, dword [0x1007f144]
add ecx, dword [0x1007f154]
mov dword [0x1007f154], ecx
xor edx, edx
mov dword [ebp - 0x50], 2
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x54]
cdq
push edx
push eax
mov eax, dword [0x1007f18c]
push eax
mov ecx, dword [0x1007f188]
push ecx
call fcn.1005a1b0
push edx
push eax
mov edx, dword [0x1007f18c]
push edx
mov eax, dword [0x1007f188]
push eax
call fcn.1005a1b0
mov dword [0x1007f188], eax
mov dword [0x1007f18c], edx
mov ecx, dword [str.C]
xor edx, edx
sub ecx, 0x9bd5c754
sbb edx, 0x44e5c
and ecx, dword [ebp - 0x7c]
and edx, dword [ebp - 0x78]
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x78], edx
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], ecx
mov edx, dword [ebp - 0xe8]
or edx, dword [ebp - 0xe4]
je 0x100228f9
cmp dword [ebp - 0xe8], 1
jne 0x100228de
cmp dword [ebp - 0xe4], 0
je 0x10022927
cmp dword [ebp - 0xe8], 2
jne 0x100228f4
cmp dword [ebp - 0xe4], 0
je 0x10022a3a
jmp 0x10022a60
movzx eax, word [0x1007f1a0]
imul eax, eax, 0xb1fc
cdq
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
mov ecx, dword [ebp - 0x80]
imul ecx, dword [ebp - 0x70]
movzx edx, byte [0x1007f04e]
add ecx, edx
not ecx
mov dword [ebp - 0x58], ecx
jmp 0x10022a60
mov eax, dword [0x1007f190]
mov ecx, dword [0x1007f194]
mov dword [ebp - 0x5b8], eax
mov dword [ebp - 0x5b4], ecx
mov edx, dword [ebp - 0x5b8]
or edx, dword [ebp - 0x5b4]
jne 0x10022958
mov dword [ebp - 0x1c0], 1
jmp 0x10022962
mov dword [ebp - 0x1c0], 0
movsx eax, word [ebp - 0x18]
add eax, dword [ebp - 0x1c0]
not eax
mov ecx, dword [ebp - 0x54]
sub ecx, eax
mov word [0x1007f14c], cx
mov edx, dword [0x1007f130]
mov eax, dword [0x1007f134]
mov dword [ebp - 0x5c0], edx
mov dword [ebp - 0x5bc], eax
mov ecx, dword [ebp - 0x5c0]
or ecx, dword [ebp - 0x5bc]
jne 0x100229ab
mov dword [ebp - 0x1c4], 1
jmp 0x100229b5
mov dword [ebp - 0x1c4], 0
movzx eax, word [0x1007f1a0]
cdq
mov ecx, dword [0x1007f138]
mov esi, dword [0x1007f13c]
push esi
push ecx
push edx
push eax
call fcn.1005a1b0
mov ecx, eax
mov esi, edx
not ecx
not esi
mov eax, dword [ebp - 0x58]
imul eax, dword [ebp - 0x1c4]
cdq
push edx
push eax
push esi
push ecx
call fcn.1005a1b0
mov esi, eax
mov ecx, dword [ebp - 0x30]
not ecx
mov edi, dword [ebp - 0x2c]
not edi
movsx eax, byte [ebp - 0x11]
cdq
push edx
push eax
push edi
push ecx
call fcn.1005a1b0
mov edx, dword [ebp - 0x5c]
add edx, dword [ebp - 0x30]
sub eax, edx
and esi, eax
not esi
mov word [ebp - 0x20], si
mov eax, dword [0x1007f144]
cdq
mov ecx, dword [0x1007f120]
sub ecx, eax
mov eax, dword [0x1007f124]
sbb eax, edx
mov dword [0x1007f120], ecx
mov dword [0x1007f124], eax
jmp 0x10022a60
mov ecx, dword [0x1007f170]
sub ecx, 0xbb
mov dword [0x1007f170], ecx
imul edx, dword [ebp - 0x5c], 0xd356
xor eax, eax
mov dword [0x1007f1c0], edx
mov dword [0x1007f1c4], eax
xor eax, eax
jmp 0x1002623c
mov ecx, dword [0x1007f140]
cmp ecx, dword [ebp - 0x70]
je 0x10022a7e
mov dword [ebp - 0x1c8], 1
jmp 0x10022a88
mov dword [ebp - 0x1c8], 0
cmp dword [0x1007f140], 0x12
je 0x10022a9d
mov dword [ebp - 0x1cc], 1
jmp 0x10022aa7
mov dword [ebp - 0x1cc], 0
mov edx, dword [ebp - 0x1c8]
cmp edx, dword [ebp - 0x1cc]
jg 0x10022c1d
push 0
push 0xbb
movzx eax, word [ebp - 0x40]
push eax
push 0
push 0
call fcn.10036ef0
add esp, 0x14
mov byte [ebp - 0x12], al
movsx ecx, byte [ebp - 0x12]
test ecx, ecx
je 0x10022be6
movzx edx, byte [0x1007f04e]
test edx, edx
je 0x10022b43
movsx eax, word [ebp - 0x18]
cdq
mov ecx, dword [0x1007f198]
mov esi, dword [0x1007f19c]
push esi
push ecx
push edx
push eax
call fcn.1005a1b0
mov edx, 0x88f75a85
sub edx, eax
not edx
mov word [0x1007f128], dx
movsx eax, word [ebp - 0x18]
cdq
add eax, 0x402c334b
adc edx, 0x81ae7
mov dword [0x1007f160], eax
mov dword [0x1007f164], edx
mov ecx, dword [ebp - 0x28]
add ecx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x28]
shr eax, cl
mov dword [ebp - 0x28], eax
jmp 0x10022be4
movzx ecx, word [0x1007f14c]
cmp dword [ebp - 0x58], ecx
jg 0x10022be4
movzx edx, byte [0x1007f027]
imul eax, edx, 0x98adee5f
xor ecx, ecx
mov dword [0x1007f188], eax
mov dword [0x1007f18c], ecx
mov edx, dword [0x1007f188]
or edx, dword [0x1007f18c]
jne 0x10022b87
mov dword [ebp - 0x1d0], 1
jmp 0x10022b91
mov dword [ebp - 0x1d0], 0
movzx eax, word [ebp - 0x1c]
or eax, dword [ebp - 0x1d0]
jne 0x10022ba9
mov dword [ebp - 0x1d4], 1
jmp 0x10022bb3
mov dword [ebp - 0x1d4], 0
movzx ecx, word [0x1007f1b8]
imul ecx, dword [ebp - 0x5c]
add ecx, dword [ebp - 0x1d4]
movzx edx, word [0x1007f14c]
movsx eax, word [ebp - 0x20]
xor edx, eax
mov eax, dword [ebp - 0x54]
add eax, dword [ebp - 0x5c]
not eax
sub edx, eax
add ecx, edx
mov word [0x1007f148], cx
jmp 0x10022c18
xor ecx, ecx
mov dword [0x1007f188], 0x8e
mov dword [0x1007f18c], ecx
mov edx, dword [0x1007f158]
sub edx, 0x786f
mov word [0x1007f16c], dx
movzx eax, byte [ebp - 0x13]
movsx ecx, byte [ebp - 0x11]
add eax, ecx
mov byte [ebp - 0x13], al
jmp 0x10022cbe
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x5c8], edx
mov dword [ebp - 0x5c4], eax
mov ecx, dword [0x1007f1b4]
cmp ecx, dword [ebp - 0x5c4]
ja 0x10022c59
jb 0x10022c4d
mov edx, dword [0x1007f1b0]
cmp edx, dword [ebp - 0x5c8]
ja 0x10022c59
mov dword [ebp - 0x1d8], 1
jmp 0x10022c63
mov dword [ebp - 0x1d8], 0
mov eax, dword [0x1007f144]
cmp dword [ebp - 0x1d8], eax
jl 0x10022cbe
mov ecx, dword [ebp - 0x84]
xor edx, edx
push 0xc53b7
push 0x311c8490
push edx
push ecx
call fcn.1005a1b0
mov ecx, dword [0x1007f190]
mov esi, dword [0x1007f194]
add ecx, eax
adc esi, edx
mov dword [0x1007f190], ecx
mov dword [0x1007f194], esi
mov eax, dword [0x1007f1a4]
cdq
mov edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x770], ecx
xor eax, edx
mov dword [0x1007f1a4], eax
xor edx, edx
mov byte [ebp - 0x8f], dl
push 0x104
lea eax, [ebp - 0xb08]
push eax
lea ecx, [ebp - 0x8ba]
push ecx
lea ecx, [ebp - 0x8f]
call fcn.10002ba0
mov ecx, eax
call fcn.10030fb0
push eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
jne 0x100237a0
mov ecx, dword [ebp - 0x6c]
not ecx
mov esi, dword [ebp - 0x68]
not esi
movsx eax, word [ebp - 0x18]
cdq
mov dword [ebp - 0x5d0], ecx
mov dword [ebp - 0x5cc], esi
mov dword [ebp - 0x5d8], eax
mov dword [ebp - 0x5d4], edx
mov edx, dword [ebp - 0x5cc]
cmp edx, dword [ebp - 0x5d4]
ja 0x10022df0
jb 0x10022d47
mov eax, dword [ebp - 0x5d0]
cmp eax, dword [ebp - 0x5d8]
ja 0x10022df0
mov dword [ebp - 4], 4
movzx ecx, word [0x1007f1a0]
mov edx, dword [ebp - 0x28]
add edx, ecx
mov eax, dword [ebp - 0x28]
add eax, edx
mov dword [ebp - 0x28], eax
movsx ecx, word [0x1007f1a8]
add ecx, 0x4b439dac
mov word [0x1007f1c8], cx
push 0
push 0xd2c1
mov edx, dword [0x1007f18c]
push edx
mov eax, dword [0x1007f188]
push eax
call fcn.1005a1b0
mov byte [0x1007f026], al
jmp 0x10022dde
mov dword [ebp - 4], 0xffffffff
jmp 0x10022dee
jmp 0x10022e0e
movzx eax, word [0x1007f1b8]
cdq
xor eax, dword [ebp - 0x40]
mov word [0x1007f1b8], ax
mov eax, dword [ebp - 0x58]
cdq
sub eax, dword [0x1007f178]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x64]
or eax, dword [ebp - 0x60]
jne 0x10022e22
mov dword [ebp - 0x1dc], 1
jmp 0x10022e2c
mov dword [ebp - 0x1dc], 0
mov eax, dword [ebp - 0x1dc]
xor eax, dword [0x1007f140]
cdq
mov esi, eax
mov edi, edx
movsx eax, byte [ebp - 0x12]
not eax
cdq
mov ecx, dword [0x1007f138]
mov ebx, dword [0x1007f13c]
push edx
push eax
push ebx
push ecx
call fcn.1005a1b0
and esi, eax
and edi, edx
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x68], edi
movzx edx, word [0x1007f16c]
imul eax, edx, 0x7d4851d7
mov byte [0x1007f027], al
mov ecx, dword [ebp - 0x64]
or ecx, dword [ebp - 0x60]
jne 0x10022e89
mov dword [ebp - 0x1e0], 1
jmp 0x10022e93
mov dword [ebp - 0x1e0], 0
movzx eax, word [ebp - 0x1c]
movsx edx, word [0x1007f148]
add eax, edx
not eax
imul eax, dword [ebp - 0x1e0]
cdq
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x774], edx
add eax, ecx
mov word [0x1007f168], ax
mov eax, dword [0x1007fc38]
mov dword [ebp - 0xcc], eax
imul eax, dword [ebp - 0x54], 0x17
cdq
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
movzx eax, word [0x1007f1c8]
not eax
cdq
mov ecx, dword [0x1007f130]
mov edx, dword [0x1007f134]
mov dword [ebp - 0x778], edx
sub ecx, eax
mov esi, 0x9b3ad60
sub esi, ecx
not esi
mov eax, dword [ebp - 0x58]
cdq
add esi, eax
mov dword [0x1007f158], esi
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
push 0
push 0x61
push ecx
push eax
call fcn.1005a1b0
mov word [0x1007f1a8], ax
mov edx, dword [ebp - 0xcc]
add edx, 0x176
mov dword [ebp - 0x1fc], edx
mov eax, 2
mov word [ebp - 0x24], ax
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x68]
mov cl, 8
call fcn.1005a1f0
mov dword [0x1007f154], eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x5e0], ecx
mov dword [ebp - 0x5dc], edx
mov eax, dword [ebp - 0x5e0]
or eax, dword [ebp - 0x5dc]
jne 0x10022f74
mov byte [ebp - 0x89], 1
jmp 0x10022f7b
mov byte [ebp - 0x89], 0
mov cl, byte [ebp - 0x89]
mov byte [0x1007f04e], cl
movsx edx, word [ebp - 0x24]
mov dword [ebp - 0xb4], edx
cmp dword [ebp - 0xb4], 0
je 0x10022fb5
cmp dword [ebp - 0xb4], 1
je 0x10022fd8
cmp dword [ebp - 0xb4], 2
je 0x10023036
jmp 0x1002306c
movsx eax, word [ebp - 0x18]
and eax, 0xa0
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x74]
sub eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x74]
sub ecx, eax
mov dword [ebp - 0x74], ecx
jmp 0x1002306c
mov edx, dword [ebp - 0x54]
add edx, 0x1395f6af
mov word [0x1007f1b8], dx
movzx eax, byte [0x1007f04e]
sub eax, 0x378f5d9e
mov dword [ebp - 0x5c], eax
movsx eax, word [0x1007f15c]
cdq
mov ecx, dword [0x1007f198]
mov esi, dword [0x1007f19c]
push edx
push eax
push esi
push ecx
call fcn.1005a1b0
mov ecx, dword [0x1007f198]
mov esi, dword [0x1007f19c]
push edx
push eax
push esi
push ecx
call fcn.1005a1b0
mov dword [0x1007f198], eax
mov dword [0x1007f19c], edx
jmp 0x1002306c
mov edx, 0x2f7c
mov word [0x1007f148], dx
cmp dword [ebp - 0x28], 0
je 0x10023057
movzx eax, word [0x1007f168]
mov dword [ebp - 0x1e4], eax
jmp 0x10023060
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x1e4], ecx
mov edx, dword [ebp - 0x1e4]
mov dword [0x1007f144], edx
mov eax, dword [ebp - 0xcc]
add eax, 0x18e
mov dword [ebp - 0x77c], eax
mov ecx, dword [ebp - 0x84]
push ecx
call dword [sym.imp.USER32.dll_IsWindowVisible]
mov dword [0x1007f158], eax
movzx eax, word [0x1007f1a0]
cdq
mov dword [ebp - 0x5e8], eax
mov dword [ebp - 0x5e4], edx
mov edx, dword [ebp - 0x5e4]
cmp edx, dword [0x1007f124]
jb 0x100230ef
ja 0x100230c1
mov eax, dword [ebp - 0x5e8]
cmp eax, dword [0x1007f120]
jb 0x100230ef
mov ecx, dword [ebp - 0x74]
mov word [ebp - 0x20], cx
movsx eax, word [ebp - 0x24]
cdq
add eax, dword [0x1007f1c0]
adc edx, dword [0x1007f1c4]
add eax, 0x967aadd5
adc edx, 0xfff7d22e
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
jmp 0x1002320a
movsx edx, byte [ebp - 0x12]
movzx eax, byte [ebp - 0x13]
cmp edx, eax
je 0x10023144
xor ecx, ecx
mov edx, dword [0x1007f120]
sub edx, dword [0x1007f158]
mov eax, dword [0x1007f124]
sbb eax, ecx
xor edx, dword [0x1007f120]
xor eax, dword [0x1007f124]
mov dword [0x1007f120], edx
mov dword [0x1007f124], eax
mov ecx, dword [0x1007f158]
sub ecx, dword [ebp - 0x88]
add ecx, dword [0x1007f158]
mov dword [0x1007f158], ecx
jmp 0x1002320a
mov edx, dword [0x1007f178]
or edx, dword [0x1007f17c]
je 0x1002320a
mov eax, dword [0x1007f180]
sub eax, 1
mov dword [0x1007f180], eax
mov ecx, dword [0x1007f138]
mov esi, dword [0x1007f13c]
not ecx
not esi
movzx eax, byte [0x1007f026]
cdq
add ecx, eax
adc esi, edx
push 0
push 0x829
push esi
push ecx
call fcn.1005a1b0
mov esi, eax
mov edi, edx
not esi
not edi
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x78]
push ecx
mov ecx, dword [ebp - 0x7c]
push ecx
push eax
push edx
call fcn.1005a1b0
mov ebx, eax
mov eax, edx
mov ecx, dword [0x1007f160]
mov edx, dword [0x1007f164]
not ecx
not edx
mov dword [ebp - 0x41c], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x480], edx
cdq
push edx
push eax
mov eax, dword [ebp - 0x480]
push eax
push ecx
call fcn.1005a1b0
sub ebx, eax
mov eax, dword [ebp - 0x41c]
sbb eax, edx
push eax
push ebx
push edi
push esi
call fcn.1005a1b0
mov dword [0x1007f120], eax
mov dword [0x1007f124], edx
mov edx, dword [0x1007f154]
sub edx, 1
mov dword [0x1007f154], edx
mov eax, dword [ebp - 0xcc]
add eax, 0x14c
mov dword [ebp - 0x420], eax
movzx eax, word [0x1007f168]
cdq
push edx
push eax
push 0
push 0x44
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp - 0x40]
push edx
call fcn.10035b90
add esp, 0x18
mov dword [0x1007f1d0], eax
mov dword [0x1007f1d4], edx
mov eax, dword [0x1007f1d0]
mov ecx, dword [0x1007f1d4]
mov dword [ebp - 0x5f0], eax
mov dword [ebp - 0x5ec], ecx
cmp dword [ebp - 0x5ec], 0
jg 0x1002327b
jl 0x1002326f
cmp dword [ebp - 0x5f0], 0
jae 0x1002327b
mov dword [ebp - 0x1e8], 1
jmp 0x10023285
mov dword [ebp - 0x1e8], 0
mov edx, dword [0x1007f1d0]
mov eax, dword [0x1007f1d4]
mov dword [ebp - 0x5f8], edx
mov dword [ebp - 0x5f4], eax
cmp dword [ebp - 0x5f4], 0
jg 0x100232bc
jl 0x100232b0
cmp dword [ebp - 0x5f8], 0x52
jae 0x100232bc
mov dword [ebp - 0x1ec], 1
jmp 0x100232c6
mov dword [ebp - 0x1ec], 0
mov ecx, dword [ebp - 0x1e8]
cmp ecx, dword [ebp - 0x1ec]
je 0x1002333b
mov byte [ebp - 0x13], 0
cmp dword [str.C], 0
jne 0x100232f5
xor edx, edx
mov dword [ebp - 0x3c0], 1
mov dword [ebp - 0x3bc], edx
jmp 0x10023300
xorps xmm0, xmm0
movlpd qword [ebp - 0x3c0], xmm0
mov eax, dword [ebp - 0x3c0]
mov ecx, dword [ebp - 0x3bc]
mov dword [0x1007f188], eax
mov dword [0x1007f18c], ecx
movzx eax, byte [0x1007f04e]
movsx edx, byte [ebp - 0x12]
imul eax, edx
cdq
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
movzx eax, byte [ebp - 0x13]
mov dword [ebp - 0x780], eax
jmp 0x1002358c
mov ecx, dword [ebp - 0x28]
xor edx, edx
mov dword [ebp - 0x600], ecx
mov dword [ebp - 0x5fc], edx
mov eax, dword [ebp - 0x5fc]
cmp eax, dword [0x1007f1b4]
jg 0x1002345a
jl 0x10023372
mov ecx, dword [ebp - 0x600]
cmp ecx, dword [0x1007f1b0]
ja 0x1002345a
movzx eax, word [0x1007f168]
add eax, 0x5e98bfc4
cdq
mov dword [0x1007f188], eax
mov dword [0x1007f18c], edx
cmp dword [0x1007f144], 0
jne 0x1002339f
mov dword [ebp - 0x1f0], 1
jmp 0x100233a9
mov dword [ebp - 0x1f0], 0
movsx edx, word [ebp - 0x18]
mov eax, dword [ebp - 0x70]
xor eax, dword [ebp - 0x1f0]
sub edx, eax
mov dword [0x1007f154], edx
movsx ecx, word [ebp - 0x24]
test ecx, ecx
jne 0x100233da
xor edx, edx
mov dword [ebp - 0x3c8], 1
mov dword [ebp - 0x3c4], edx
jmp 0x100233e5
xorps xmm0, xmm0
movlpd qword [ebp - 0x3c8], xmm0
movzx eax, word [ebp - 0x1c]
add eax, dword [0x1007f170]
jne 0x10023405
xor ecx, ecx
mov dword [ebp - 0x3d0], 1
mov dword [ebp - 0x3cc], ecx
jmp 0x10023410
xorps xmm0, xmm0
movlpd qword [ebp - 0x3d0], xmm0
mov edx, dword [0x1007f1d0]
mov eax, dword [0x1007f1d4]
sub edx, dword [ebp - 0x3c8]
sbb eax, dword [ebp - 0x3c4]
mov ecx, dword [ebp - 0x3cc]
push ecx
mov ecx, dword [ebp - 0x3d0]
push ecx
push eax
push edx
call fcn.1005a1b0
mov edx, 0xb0
sub edx, dword [0x1007f170]
add edx, dword [0x1007f188]
sub eax, edx
mov word [0x1007f1a0], ax
jmp 0x1002358c
movzx eax, word [0x1007f168]
test eax, eax
jne 0x10023471
mov dword [ebp - 0x1f4], 1
jmp 0x1002347b
mov dword [ebp - 0x1f4], 0
movzx ecx, word [ebp - 0x1c]
cmp dword [ebp - 0x1f4], ecx
jle 0x1002349b
xor edx, edx
mov dword [ebp - 0x3d8], 1
mov dword [ebp - 0x3d4], edx
jmp 0x100234a6
xorps xmm0, xmm0
movlpd qword [ebp - 0x3d8], xmm0
mov eax, dword [0x1007f138]
mov ecx, dword [0x1007f13c]
not eax
not ecx
mov dword [ebp - 0x608], eax
mov dword [ebp - 0x604], ecx
mov edx, dword [ebp - 0x604]
cmp edx, dword [ebp - 0x3d4]
jl 0x100234fd
jg 0x100234df
mov eax, dword [ebp - 0x608]
cmp eax, dword [ebp - 0x3d8]
jb 0x100234fd
mov ecx, dword [ebp - 0x84]
sub ecx, dword [ebp - 0x30]
mov dword [ebp - 0x84], ecx
mov dword [0x1007f154], 0x7ba25960
jmp 0x1002358c
mov eax, dword [ebp - 0x70]
not eax
cdq
mov ecx, dword [0x1007f160]
mov esi, dword [0x1007f164]
mov dword [ebp - 0x610], eax
mov dword [ebp - 0x60c], edx
mov dword [ebp - 0x618], ecx
mov dword [ebp - 0x614], esi
mov edx, dword [ebp - 0x610]
cmp edx, dword [ebp - 0x618]
jne 0x10023543
mov eax, dword [ebp - 0x60c]
cmp eax, dword [ebp - 0x614]
je 0x1002354f
mov dword [ebp - 0x1f8], 1
jmp 0x10023559
mov dword [ebp - 0x1f8], 0
movzx ecx, word [0x1007f14c]
sub ecx, 0xddb5
cmp dword [ebp - 0x1f8], ecx
jne 0x1002358c
mov edx, dword [ebp - 0x7c]
sub edx, 1
mov eax, dword [ebp - 0x78]
sbb eax, 0
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x78], eax
mov ecx, dword [0x1007f1b0]
not ecx
mov word [ebp - 0x18], cx
mov edx, dword [ebp - 0x1fc]
sub edx, dword [ebp - 0x1fc]
cmp dword [ebp - 0x420], edx
je 0x100237a0
movzx eax, word [0x1007f1a0]
test eax, eax
je 0x10023660
push 0
movzx ecx, word [0x1007f14c]
push ecx
call fcn.100364f0
add esp, 8
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov edx, dword [ebp - 0x40]
or edx, dword [ebp - 0x3c]
je 0x10023622
movzx eax, byte [0x1007f04e]
cdq
mov dword [ebp - 0x620], eax
mov dword [ebp - 0x61c], edx
mov eax, dword [0x1007f1b4]
cmp eax, dword [ebp - 0x61c]
jl 0x10023620
jg 0x10023605
mov ecx, dword [0x1007f1b0]
cmp ecx, dword [ebp - 0x620]
jb 0x10023620
push 0
push 0xe528
mov edx, dword [ebp - 0x3c]
push edx
mov eax, dword [ebp - 0x40]
push eax
call fcn.1005a1b0
mov dword [ebp - 0x5c], eax
mov byte [ebp - 0x11], 0xee
jmp 0x1002365b
cmp dword [0x1007f1a4], 0
jne 0x1002365b
mov ecx, 0x46ff
mov word [0x1007f148], cx
movzx eax, byte [0x1007f026]
add eax, 0x4ac4c583
cdq
add eax, dword [0x1007f178]
adc edx, dword [0x1007f17c]
mov dword [0x1007f178], eax
mov dword [0x1007f17c], edx
jmp 0x100236e0
movzx edx, word [0x1007f1b8]
cmp edx, dword [0x1007f1a4]
jge 0x1002369c
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x628], eax
mov dword [ebp - 0x624], ecx
mov edx, dword [ebp - 0x628]
or edx, dword [ebp - 0x624]
jne 0x1002369c
movsx eax, word [0x1007f148]
not eax
test eax, eax
je 0x100236e0
movzx ecx, byte [ebp - 0x13]
sub ecx, 0x5d2ea2bb
mov word [0x1007f1a8], cx
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
push 0x38fa
push 0xee754c67
push eax
push edx
call fcn.1005a1b0
mov ecx, dword [0x1007f160]
mov esi, dword [0x1007f164]
sub ecx, eax
sbb esi, edx
mov dword [0x1007f160], ecx
mov dword [0x1007f164], esi
movzx eax, word [0x1007f16c]
cdq
mov dword [ebp - 0x630], eax
mov dword [ebp - 0x62c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x62c]
jl 0x10023718
jg 0x1002370c
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x630]
jbe 0x10023718
mov dword [ebp - 0x200], 1
jmp 0x10023722
mov dword [ebp - 0x200], 0
cmp dword [ebp - 0x2c], 0
jl 0x1002373c
jg 0x10023730
cmp dword [ebp - 0x30], 0x18
jbe 0x1002373c
mov dword [ebp - 0x204], 1
jmp 0x10023746
mov dword [ebp - 0x204], 0
mov ecx, dword [ebp - 0x200]
cmp ecx, dword [ebp - 0x204]
jg 0x10023776
mov edx, dword [ebp - 0x84]
xor eax, eax
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x60], eax
movzx ecx, word [0x1007f168]
imul ecx, dword [ebp - 0x54]
mov word [0x1007f168], cx
jmp 0x10023799
mov edx, dword [ebp - 0x7c]
add edx, 0x52e32c10
mov eax, dword [0x1007f180]
sub eax, edx
mov dword [0x1007f180], eax
mov cx, word [0x1007fc38]
mov word [0x1007f16c], cx
xor eax, eax
jmp 0x1002623c
movzx edx, word [0x1007f128]
push edx
call dword [sym.imp.USER32.dll_IsWindow]
mov word [0x1007f1a0], ax
movsx eax, word [0x1007f1a8]
xor eax, 0x38
mov ecx, dword [ebp - 0x80]
add ecx, eax
mov dword [ebp - 0x80], ecx
mov byte [ebp - 0x13], 2
mov dx, word [0x1007fc38]
mov word [0x1007f14c], dx
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x784], ecx
movzx edx, al
push edx
movzx eax, byte [ebp - 0x20]
push eax
call fcn.10035170
add esp, 8
movsx eax, al
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
cmp dword [ebp - 0x3c], 0
jl 0x10023819
jg 0x1002380d
cmp dword [ebp - 0x40], 0
jb 0x10023819
mov dword [ebp - 0x208], 1
jmp 0x10023823
mov dword [ebp - 0x208], 0
cmp dword [ebp - 0x3c], 0
jl 0x1002383d
jg 0x10023831
cmp dword [ebp - 0x40], 0x2d
jb 0x1002383d
mov dword [ebp - 0x20c], 1
jmp 0x10023847
mov dword [ebp - 0x20c], 0
mov ecx, dword [ebp - 0x208]
cmp ecx, dword [ebp - 0x20c]
je 0x10023931
push 0
push 0
push 0
push 0x77
push 0
push 0x3e
push 0
push 0xf0
call fcn.10034db0
add esp, 0x20
mov dword [0x1007f1c0], eax
mov dword [0x1007f1c4], edx
mov edx, dword [0x1007f1c0]
or edx, dword [0x1007f1c4]
je 0x1002392f
movzx eax, word [0x1007f1b8]
test eax, eax
jne 0x100238a8
mov dword [ebp - 0x218], 1
jmp 0x100238b2
mov dword [ebp - 0x218], 0
movsx ecx, byte [ebp - 0x12]
test ecx, ecx
jne 0x100238c6
mov dword [ebp - 0x214], 1
jmp 0x100238d0
mov dword [ebp - 0x214], 0
movsx edx, byte [ebp - 0x12]
test edx, edx
jne 0x100238e4
mov dword [ebp - 0x210], 1
jmp 0x100238ee
mov dword [ebp - 0x210], 0
movsx eax, word [ebp - 0x18]
xor eax, dword [ebp - 0x210]
imul eax, dword [ebp - 0x214]
imul eax, dword [ebp - 0x218]
cdq
mov dword [0x1007f138], eax
mov dword [0x1007f13c], edx
movzx eax, word [0x1007f168]
sub eax, 0xc174
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], esi
jmp 0x10023948
mov edx, dword [0x1007f140]
mov dword [0x1007f158], edx
mov eax, 0xcb82
mov word [0x1007f1b8], ax
movzx eax, word [0x1007f1b8]
cdq
mov dword [ebp - 0x638], eax
mov dword [ebp - 0x634], edx
mov ecx, dword [ebp - 0x634]
cmp ecx, dword [ebp - 0x2c]
jl 0x100239b3
jg 0x10023974
mov edx, dword [ebp - 0x638]
cmp edx, dword [ebp - 0x30]
jb 0x100239b3
movzx eax, byte [0x1007f026]
test eax, eax
je 0x1002398d
mov ecx, dword [str.C]
mov dword [ebp - 0x21c], ecx
jmp 0x1002399a
movzx edx, word [0x1007f1b8]
mov dword [ebp - 0x21c], edx
mov ax, word [ebp - 0x21c]
mov word [0x1007f128], ax
mov ecx, 0x4dab
mov word [0x1007f14c], cx
mov edx, dword [ebp - 0x424]
cmp dword [ebp - 0x428], edx
je 0x100241f7
mov dword [ebp - 4], 6
mov eax, dword [0x1007f1c0]
add eax, 0x75711ac8
mov word [ebp - 0x1c], ax
cmp dword [ebp - 0x70], 0
je 0x100239f6
movzx eax, word [0x1007f128]
cdq
mov dword [ebp - 0x340], eax
mov dword [ebp - 0x33c], edx
jmp 0x10023a0e
mov ecx, dword [0x1007f160]
mov edx, dword [0x1007f164]
mov dword [ebp - 0x340], ecx
mov dword [ebp - 0x33c], edx
mov eax, dword [ebp - 0x340]
mov ecx, dword [ebp - 0x33c]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], ecx
jmp 0x10023aa1
mov dword [ebp - 4], 0xffffffff
jmp 0x10023ab1
movsx eax, word [ebp - 0x18]
cdq
mov ecx, dword [0x1007f124]
push ecx
mov ecx, dword [0x1007f120]
push ecx
push edx
push eax
call fcn.1005a1b0
mov dword [ebp - 0x640], eax
mov dword [ebp - 0x63c], edx
mov edx, dword [ebp - 0x640]
or edx, dword [ebp - 0x63c]
jne 0x10023b30
mov eax, dword [ebp - 0x6c]
or eax, dword [ebp - 0x68]
jne 0x10023b01
xor ecx, ecx
mov dword [ebp - 0x3e8], 1
mov dword [ebp - 0x3e4], ecx
jmp 0x10023b0c
xorps xmm0, xmm0
movlpd qword [ebp - 0x3e8], xmm0
mov edx, dword [ebp - 0x3c]
cmp edx, dword [ebp - 0x3e4]
jg 0x10023b30
jl 0x10023b24
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x3e8]
ja 0x10023b30
mov dword [ebp - 0x224], 0
jmp 0x10023b3a
mov dword [ebp - 0x224], 1
movzx ecx, byte [ebp - 0x13]
add ecx, dword [0x1007f180]
jne 0x10023b52
mov dword [ebp - 0x220], 1
jmp 0x10023b5c
mov dword [ebp - 0x220], 0
movzx edx, word [0x1007f1b8]
not edx
cmp dword [ebp - 0x220], edx
jle 0x10023b79
mov dword [ebp - 0x228], 1
jmp 0x10023b83
mov dword [ebp - 0x228], 0
mov eax, dword [ebp - 0x224]
cmp eax, dword [ebp - 0x228]
jle 0x10023bd1
movzx ecx, word [0x1007f1c8]
xor ecx, dword [ebp - 0x74]
mov word [0x1007f1c8], cx
mov edx, 0xacd9
mov word [0x1007f1a0], dx
movzx eax, word [0x1007f16c]
cdq
mov ecx, dword [0x1007f130]
mov esi, dword [0x1007f134]
push esi
push ecx
push edx
push eax
call fcn.1005a1b0
mov word [0x1007f16c], ax
push 0x104
lea edx, [ebp - 0x1328]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
test eax, eax
jne 0x100241f7
movsx eax, word [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
imul ecx, eax
mov edx, dword [ebp - 0x28]
imul edx, ecx
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x64]
or eax, dword [ebp - 0x60]
je 0x10023c15
movzx ecx, word [0x1007f128]
mov dword [ebp - 0x22c], ecx
jmp 0x10023c22
movzx edx, byte [0x1007f027]
mov dword [ebp - 0x22c], edx
mov ax, word [ebp - 0x22c]
mov word [0x1007f1a8], ax
mov eax, dword [ebp - 0x58]
cdq
sub eax, 0x7f7d47b9
sbb edx, 0x8fc48
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], edx
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
sub eax, 0xe97851e1
sbb ecx, 0xf9d94
mov dword [0x1007f178], eax
mov dword [0x1007f17c], ecx
mov edx, dword [0x1007fc38]
mov dword [ebp - 0xd0], edx
movsx eax, byte [ebp - 0x12]
imul eax, dword [ebp - 0x5c]
movsx ecx, byte [ebp - 0x12]
add ecx, eax
mov byte [ebp - 0x12], cl
mov edx, 2
mov word [0x1007f1a0], dx
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
sub eax, 0xc661e151
sbb ecx, 0xf1ef3
mov dword [0x1007f178], eax
mov dword [0x1007f17c], ecx
mov edx, dword [ebp - 0xd0]
add edx, 0x47c
mov dword [ebp - 0x42c], edx
mov dword [ebp - 0xbc], 0x24d
jmp 0x10023cde
mov eax, dword [ebp - 0xbc]
sub eax, 1
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 0
jle 0x10023f84
movsx ecx, word [ebp - 0x20]
cmp dword [0x1007f158], ecx
ja 0x10023d03
mov dword [ebp - 0x230], 1
jmp 0x10023d0d
mov dword [ebp - 0x230], 0
cmp dword [0x1007f158], 0x62
ja 0x10023d22
mov dword [ebp - 0x234], 1
jmp 0x10023d2c
mov dword [ebp - 0x234], 0
mov edx, dword [ebp - 0x230]
cmp edx, dword [ebp - 0x234]
jge 0x10023f6d
push 0
movzx eax, word [0x1007f158]
push eax
movzx ecx, word [ebp - 0x88]
push ecx
movzx dx, byte [ebp - 0x13]
movzx eax, dx
push eax
movzx ecx, word [0x1007f15c]
push ecx
call fcn.10036ef0
add esp, 0x14
movzx eax, ax
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movzx edx, byte [0x1007f027]
not edx
movsx eax, word [0x1007f15c]
cmp edx, eax
je 0x10023d93
mov dword [ebp - 0x238], 1
jmp 0x10023d9d
mov dword [ebp - 0x238], 0
mov ecx, dword [ebp - 0x84]
cmp dword [ebp - 0x238], ecx
je 0x10023db7
mov dword [ebp - 0x240], 1
jmp 0x10023dc1
mov dword [ebp - 0x240], 0
movzx eax, byte [ebp - 0x13]
cdq
mov ecx, dword [0x1007f138]
mov esi, dword [0x1007f13c]
mov dword [ebp - 0x648], eax
mov dword [ebp - 0x644], edx
mov dword [ebp - 0x650], ecx
mov dword [ebp - 0x64c], esi
mov edx, dword [ebp - 0x644]
cmp edx, dword [ebp - 0x64c]
jl 0x10023e47
jg 0x10023e08
mov eax, dword [ebp - 0x648]
cmp eax, dword [ebp - 0x650]
jb 0x10023e47
cmp dword [0x1007f170], 0
je 0x10023e25
movsx ecx, byte [ebp - 0x12]
test ecx, ecx
je 0x10023e25
mov dword [ebp - 0x23c], 1
jmp 0x10023e2f
mov dword [ebp - 0x23c], 0
mov edx, dword [ebp - 0x23c]
not edx
test edx, edx
je 0x10023e47
mov dword [ebp - 0x244], 1
jmp 0x10023e51
mov dword [ebp - 0x244], 0
mov eax, dword [ebp - 0x240]
cmp eax, dword [ebp - 0x244]
jge 0x10023f14
mov eax, dword [0x1007f140]
cdq
mov ecx, dword [0x1007f130]
mov esi, dword [0x1007f134]
mov dword [ebp - 0x658], eax
mov dword [ebp - 0x654], edx
mov dword [ebp - 0x660], ecx
mov dword [ebp - 0x65c], esi
mov edx, dword [ebp - 0x654]
cmp edx, dword [ebp - 0x65c]
jl 0x10023eb7
jg 0x10023eab
mov eax, dword [ebp - 0x658]
cmp eax, dword [ebp - 0x660]
jbe 0x10023eb7
mov dword [ebp - 0x248], 1
jmp 0x10023ec1
mov dword [ebp - 0x248], 0
cmp dword [0x1007f140], 0x1d
jle 0x10023ed6
mov dword [ebp - 0x24c], 1
jmp 0x10023ee0
mov dword [ebp - 0x24c], 0
mov ecx, dword [ebp - 0x248]
cmp ecx, dword [ebp - 0x24c]
jg 0x10023f12
movzx eax, byte [ebp - 0x13]
cdq
add eax, dword [0x1007f188]
mov byte [ebp - 0x13], al
movsx edx, byte [ebp - 0x11]
movzx eax, byte [0x1007f027]
add edx, eax
movsx ecx, byte [ebp - 0x11]
add ecx, edx
mov byte [ebp - 0x11], cl
jmp 0x10023f6d
cmp dword [ebp - 0x54], 0
je 0x10023f6d
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x40]
sub eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x3c]
sbb ecx, edx
mov dword [ebp - 0x668], eax
mov dword [ebp - 0x664], ecx
mov edx, dword [ebp - 0x668]
or edx, dword [ebp - 0x664]
je 0x10023f6d
mov dword [0x1007f1a4], 4
movzx eax, word [0x1007f128]
shl eax, 8
mov dword [ebp - 0x84], eax
movzx ecx, word [0x1007f14c]
imul eax, ecx, 0x61
cdq
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], edx
mov dx, word [0x1007f1a0]
add dx, 1
mov word [0x1007f1a0], dx
jmp 0x10023ccf
mov eax, dword [ebp - 0xd0]
add eax, 0x4dd
mov dword [ebp - 0x434], eax
mov dword [ebp - 0xc8], 0x3e
movsx ecx, word [ebp - 0x20]
sub ecx, 0xa93462f
mov word [0x1007f16c], cx
mov eax, dword [0x1007f178]
mov edx, dword [0x1007f17c]
mov cl, 5
call fcn.1005a210
mov byte [ebp - 0x13], al
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0
je 0x10024000
mov edx, dword [ebp - 0xc0]
push edx
call dword [sym.imp.USER32.dll_IsWindow]
mov dword [ebp - 0x788], eax
mov eax, dword [ebp - 0xc0]
push eax
call dword [sym.imp.USER32.dll_ArrangeIconicWindows]
mov dword [ebp - 0x78c], eax
mov ecx, dword [ebp - 0x6c]
or ecx, dword [ebp - 0x68]
je 0x10024098
movzx edx, word [0x1007f14c]
test edx, edx
je 0x1002402b
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x3f0], eax
mov dword [ebp - 0x3ec], ecx
jmp 0x1002403f
movsx eax, word [0x1007f15c]
cdq
mov dword [ebp - 0x3f0], eax
mov dword [ebp - 0x3ec], edx
mov dx, word [ebp - 0x3f0]
mov word [0x1007f16c], dx
mov eax, dword [0x1007f144]
and eax, dword [str.C]
mov dword [str.C], eax
mov ecx, dword [0x1007f154]
xor edx, edx
push edx
push ecx
mov eax, dword [0x1007f17c]
push eax
mov ecx, dword [0x1007f178]
push ecx
call fcn.1005a1b0
push edx
push eax
mov edx, dword [0x1007f17c]
push edx
mov eax, dword [0x1007f178]
push eax
call fcn.1005a1b0
mov dword [0x1007f178], eax
mov dword [0x1007f17c], edx
mov ecx, dword [ebp - 0xc8]
add ecx, 1
mov dword [ebp - 0xc8], ecx
cmp dword [ebp - 0xc8], 0x1a20
jl 0x10023fc5
mov edx, dword [ebp - 0xd0]
add edx, 0x436
mov dword [ebp - 0x430], edx
movzx eax, byte [ebp - 0x13]
cdq
mov esi, eax
mov edi, edx
mov eax, dword [ebp - 0x88]
cdq
mov ecx, dword [ebp - 0x38]
mov ebx, dword [ebp - 0x34]
push ebx
push ecx
push edx
push eax
call fcn.1005a1b0
xor esi, eax
xor edi, edx
mov dword [ebp - 0x670], esi
mov dword [ebp - 0x66c], edi
mov edx, dword [ebp - 0x670]
or edx, dword [ebp - 0x66c]
jne 0x1002411a
xor eax, eax
mov dword [ebp - 0x678], 1
mov dword [ebp - 0x674], eax
jmp 0x10024125
xorps xmm0, xmm0
movlpd qword [ebp - 0x678], xmm0
mov ecx, dword [ebp - 0x6c]
or ecx, dword [ebp - 0x68]
jne 0x10024141
xor edx, edx
mov dword [ebp - 0x3f8], 1
mov dword [ebp - 0x3f4], edx
jmp 0x1002414c
xorps xmm0, xmm0
movlpd qword [ebp - 0x3f8], xmm0
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x3f4]
push eax
mov ecx, dword [ebp - 0x3f8]
push ecx
mov edx, dword [0x1007f124]
push edx
mov eax, dword [0x1007f120]
push eax
call fcn.1005a1b0
not eax
add esi, eax
not esi
mov ecx, dword [ebp - 0x678]
sub ecx, esi
mov byte [ebp - 0x11], cl
movsx edx, word [ebp - 0x20]
movzx eax, word [ebp - 0x1c]
lea ecx, [eax + edx - 0x2248c46a]
mov word [ebp - 0x1c], cx
movzx eax, byte [0x1007f04e]
cdq
add eax, dword [ebp - 0x30]
adc edx, dword [ebp - 0x2c]
and eax, dword [ebp - 0x30]
and edx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x42c]
add edx, 0x278
mov eax, dword [ebp - 0x430]
imul eax, dword [ebp - 0x434]
cmp edx, eax
je 0x100241f7
jmp 0x100241d1
movzx eax, word [0x1007f1b8]
cdq
sub eax, 0x9812e70f
sbb edx, 0x69971
or eax, dword [ebp - 0x7c]
or edx, dword [ebp - 0x78]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], edx
xor eax, eax
jmp 0x1002623c
xor ecx, ecx
mov byte [ebp - 0x8c], cl
push 0
push 0
lea edx, [ebp - 0x884]
push edx
lea ecx, [ebp - 0x8c]
call fcn.10002d10
mov ecx, eax
call fcn.10030db0
push eax
lea eax, [ebp - 0x1328]
push eax
lea ecx, [ebp - 0x1530]
push ecx
call fcn.100068c0
add esp, 0x14
xor edx, edx
mov byte [ebp - 0x8b], dl
push 0
push 0
lea eax, [ebp - 0x8d6]
push eax
lea ecx, [ebp - 0x8b]
call fcn.10002e50
mov ecx, eax
call fcn.10030fb0
push eax
lea ecx, [ebp - 0x1530]
push ecx
lea edx, [ebp - 0xf18]
push edx
call fcn.100068c0
add esp, 0x14
mov eax, dword [ebp - 0x70]
cmp eax, dword [ebp - 0x5c]
jae case.default.0x10024314
mov ecx, 4
mov word [ebp - 0x18], cx
mov eax, dword [ebp - 0x70]
cdq
push 0xfa32
push 0xaab87329
push edx
push eax
call fcn.1005a1b0
mov ecx, eax
mov eax, dword [ebp - 0x54]
cdq
sub eax, ecx
mov dword [ebp - 0x54], eax
movsx edx, word [0x1007f1a8]
test edx, edx
jne 0x100242c3
xor eax, eax
mov dword [ebp - 0x680], 1
mov dword [ebp - 0x67c], eax
jmp 0x100242ce
xorps xmm0, xmm0
movlpd qword [ebp - 0x680], xmm0
movsx ecx, word [ebp - 0x24]
add ecx, dword [0x1007f180]
sub ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x790], eax
sub edx, dword [ebp - 0x680]
add ecx, edx
not ecx
mov dword [0x1007f154], ecx
movsx ecx, word [ebp - 0x18]
mov dword [ebp - 0x250], ecx
cmp dword [ebp - 0x250], 4
ja case.default.0x10024314
mov edx, dword [ebp - 0x250]
jmp dword [edx*4 + 0x10026260]
movsx eax, word [0x1007f1a8]
xor eax, 0xdba6
mov byte [ebp - 0x11], al
mov ecx, 8
imul edx, ecx, 0xdab3
mov ax, word [edx + 0x101db520]
mov word [ebp - 0x24], ax
jmp case.default.0x10024314
movzx ecx, word [0x1007f1a0]
add ecx, dword [0x1007f158]
mov word [0x1007f1a0], cx
movsx edx, word [ebp - 0x20]
mov eax, 4
imul ecx, eax, 0x6d8d
mov dword [ecx + 0x1032d050], edx
jmp case.default.0x10024314
mov edx, dword [0x1007f140]
add edx, 1
mov dword [0x1007f140], edx
mov ax, word [0x1007fc38]
mov word [ebp - 0x20], ax
jmp case.default.0x10024314
mov ecx, dword [ebp - 0x6c]
not ecx
mov edx, dword [ebp - 0x68]
not edx
add ecx, dword [0x1007f188]
adc edx, dword [0x1007f18c]
mov dword [ebp - 0x688], ecx
mov dword [ebp - 0x684], edx
mov eax, dword [ebp - 0x688]
or eax, dword [ebp - 0x684]
jne 0x100243d5
xor ecx, ecx
mov dword [ebp - 0x400], 1
mov dword [ebp - 0x3fc], ecx
jmp 0x100243e0
xorps xmm0, xmm0
movlpd qword [ebp - 0x400], xmm0
movzx eax, byte [0x1007f026]
cdq
push edx
push eax
mov edx, dword [ebp - 0x3c]
push edx
mov eax, dword [ebp - 0x40]
push eax
call fcn.1005a1b0
add eax, dword [ebp - 0x400]
adc edx, dword [ebp - 0x3fc]
mov dword [0x1007f138], eax
mov dword [0x1007f13c], edx
imul ecx, dword [ebp - 0x58], 0x85
movzx edx, word [ebp - 0x1c]
imul edx, ecx
mov word [ebp - 0x1c], dx
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
add eax, dword [ebp - 0x64]
adc ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x4c]
add edx, eax
adc esi, ecx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], esi
jmp case.default.0x10024314
mov eax, 0xffffbfa9
mov word [0x1007f15c], ax
mov ecx, dword [ebp - 0x6c]
mov dword [0x1007f170], ecx
movsx edx, word [ebp - 0x20]
add edx, dword [ebp - 0x84]
movsx eax, word [ebp - 0x20]
xor eax, edx
mov word [ebp - 0x20], ax
mov ecx, dword [ebp - 0x5c]
xor edx, edx
mov eax, dword [0x1007f124]
push eax
mov eax, dword [0x1007f120]
push eax
push edx
push ecx
call fcn.1005a1b0
mov ecx, dword [ebp - 0x5c]
sub ecx, eax
mov dword [ebp - 0x5c], ecx
mov edx, 4
imul eax, edx, 0x339c
movzx ecx, word [0x1007f1c8]
add ecx, dword [eax + 0x102cddf8]
mov word [0x1007f1c8], cx
imul eax, dword [ebp - 0x70], 0xccc5
cdq
mov dword [0x1007f160], eax
mov dword [0x1007f164], edx
push 0
lea edx, [ebp - 0xb08]
push edx
lea eax, [ebp - 0x1738]
push eax
lea ecx, [ebp - 0x1940]
push ecx
lea edx, [ebp - 0xd10]
push edx
call fcn.100068c0
add esp, 0x14
push 0x52
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x794], ecx
movzx edx, ax
push edx
push 0
push 0
movzx ax, byte [0x1007f04e]
movzx ecx, ax
push ecx
call fcn.10036ef0
add esp, 0x14
movzx edx, ax
mov dword [ebp - 0x74], edx
cmp dword [ebp - 0x74], 0
jne 0x10024520
mov dword [ebp - 0x254], 1
jmp 0x1002452a
mov dword [ebp - 0x254], 0
cmp dword [ebp - 0x74], 0xf
jne 0x1002453c
mov dword [ebp - 0x258], 1
jmp 0x10024546
mov dword [ebp - 0x258], 0
mov eax, dword [ebp - 0x254]
cmp eax, dword [ebp - 0x258]
jl 0x1002477e
push 0x86
call fcn.10037420
add esp, 4
mov word [ebp - 0x18], ax
mov ecx, dword [ebp - 0x28]
not ecx
test ecx, ecx
je 0x10024755
movsx edx, word [0x1007f15c]
cmp dword [ebp - 0x74], edx
jae 0x1002458e
mov dword [ebp - 0x25c], 1
jmp 0x10024598
mov dword [ebp - 0x25c], 0
cmp dword [ebp - 0x74], 0x21
jae 0x100245aa
mov dword [ebp - 0x260], 1
jmp 0x100245b4
mov dword [ebp - 0x260], 0
mov eax, dword [ebp - 0x25c]
cmp eax, dword [ebp - 0x260]
jg 0x10024615
mov ecx, dword [ebp - 0x28]
xor edx, edx
add ecx, dword [ebp - 0x40]
adc edx, dword [ebp - 0x3c]
mov eax, dword [0x1007f1d0]
mov esi, dword [0x1007f1d4]
or eax, ecx
or esi, edx
mov dword [0x1007f188], eax
mov dword [0x1007f18c], esi
cmp dword [ebp - 0x70], 0
je 0x100245fc
movzx ecx, word [0x1007f128]
mov dword [ebp - 0x264], ecx
jmp 0x10024605
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x264], edx
mov ax, word [ebp - 0x264]
mov word [ebp - 0x24], ax
jmp 0x10024753
movzx ecx, word [0x1007f128]
cmp ecx, 0xf830c9ad
ja 0x100246c2
movzx edx, word [0x1007f1c8]
imul edx, dword [0x1007f180]
add edx, dword [0x1007f180]
mov dword [0x1007f180], edx
movzx eax, byte [ebp - 0x13]
test eax, eax
jne 0x10024656
mov dword [ebp - 0x268], 1
jmp 0x10024660
mov dword [ebp - 0x268], 0
mov ecx, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [0x1007f130]
mov esi, dword [0x1007f134]
not eax
not esi
push esi
push eax
push edx
push ecx
call fcn.1005a1b0
mov ecx, eax
mov esi, edx
mov eax, dword [0x1007f144]
cdq
sub ecx, eax
sbb esi, edx
movzx eax, word [0x1007f128]
imul eax, dword [ebp - 0x268]
cdq
mov edi, dword [ebp - 0x5c]
xor ebx, ebx
sub edi, dword [ebp - 0x6c]
sbb ebx, dword [ebp - 0x68]
add eax, edi
adc edx, ebx
not eax
not edx
sub ecx, eax
sbb esi, edx
mov dword [0x1007f178], ecx
mov dword [0x1007f17c], esi
jmp 0x10024753
cmp dword [0x1007f1bc], 0
je 0x10024753
cmp dword [ebp - 0x74], 0
jne 0x100246e1
mov dword [ebp - 0x26c], 1
jmp 0x100246eb
mov dword [ebp - 0x26c], 0
mov edx, dword [0x1007f170]
imul edx, dword [ebp - 0x26c]
mov ecx, edx
movzx eax, byte [ebp - 0x13]
not eax
movzx edx, word [ebp - 0x1c]
sub eax, edx
cdq
mov edx, dword [0x1007f1bc]
add edx, dword [0x1007f1c0]
add eax, edx
not eax
add ecx, eax
mov dword [0x1007f170], ecx
mov ax, word [0x1007f16c]
mov ecx, 1
imul edx, ecx, 0x8139
mov byte [edx + 0x103c7cb0], al
movzx eax, word [0x1007f1b8]
cdq
push edx
push eax
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 0x40]
push ecx
call fcn.1005a1b0
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
jmp 0x1002477c
cmp dword [ebp - 0x84], 0
je 0x1002477c
mov edx, dword [0x1007fc38]
xor eax, eax
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], eax
movzx ecx, word [0x1007f128]
add ecx, 0xd3
mov dword [ebp - 0x28], ecx
jmp 0x100247d9
xor edx, edx
je 0x100247d9
movsx eax, byte [ebp - 0x12]
test eax, eax
je 0x100247a4
mov ecx, dword [0x1007f138]
mov edx, dword [0x1007f13c]
mov dword [ebp - 0x348], ecx
mov dword [ebp - 0x344], edx
jmp 0x100247b7
mov eax, dword [0x1007f170]
xor ecx, ecx
mov dword [ebp - 0x348], eax
mov dword [ebp - 0x344], ecx
mov edx, dword [ebp - 0x348]
mov eax, dword [ebp - 0x344]
mov dword [0x1007f198], edx
mov dword [0x1007f19c], eax
mov cx, word [ebp - 0x30]
mov word [0x1007f1c8], cx
mov edx, dword [ebp - 0x270]
sub edx, dword [ebp - 0x274]
add edx, dword [ebp - 0x270]
mov eax, dword [ebp - 0x274]
sub eax, dword [ebp - 0x438]
cmp edx, eax
je 0x10026119
movsx ecx, byte [ebp - 0x12]
test ecx, ecx
je 0x100249e3
cmp dword [0x1007f140], 0
je 0x100249ba
movzx edx, word [0x1007f1c8]
test edx, edx
jne 0x1002484c
mov eax, dword [0x1007f198]
mov ecx, dword [0x1007f19c]
mov dword [ebp - 0x690], eax
mov dword [ebp - 0x68c], ecx
mov edx, dword [ebp - 0x690]
or edx, dword [ebp - 0x68c]
je 0x100249ba
movsx eax, word [ebp - 0x18]
test eax, eax
je 0x100249ba
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
movsx eax, byte [ebp - 0x11]
cdq
mov dword [ebp - 0x698], ecx
mov dword [ebp - 0x694], esi
mov dword [ebp - 0x6a0], eax
mov dword [ebp - 0x69c], edx
mov edx, dword [ebp - 0x698]
cmp edx, dword [ebp - 0x6a0]
jne 0x100248a3
mov eax, dword [ebp - 0x694]
cmp eax, dword [ebp - 0x69c]
jne 0x100248a3
mov dword [ebp - 0x278], 1
jmp 0x100248ad
mov dword [ebp - 0x278], 0
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x6a8], ecx
mov dword [ebp - 0x6a4], edx
cmp dword [ebp - 0x6a8], 0x58
jne 0x100248dd
cmp dword [ebp - 0x6a4], 0
jne 0x100248dd
mov dword [ebp - 0x27c], 1
jmp 0x100248e7
mov dword [ebp - 0x27c], 0
mov eax, dword [ebp - 0x278]
cmp eax, dword [ebp - 0x27c]
jl 0x1002492f
mov ecx, dword [0x1007f138]
mov edx, dword [0x1007f13c]
add ecx, 0x7e408fa5
adc edx, 0
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], edx
movzx eax, byte [0x1007f026]
movzx ecx, word [0x1007f1a0]
not ecx
add eax, ecx
or eax, 0x21eb
mov byte [ebp - 0x11], al
jmp 0x100249b8
mov edx, dword [0x1007f138]
mov eax, dword [0x1007f13c]
mov dword [ebp - 0x6b0], edx
mov dword [ebp - 0x6ac], eax
mov ecx, dword [ebp - 0x6b0]
or ecx, dword [ebp - 0x6ac]
je 0x100249b8
movzx edx, byte [ebp - 0x13]
imul eax, edx, 0x6951fd78
mov ecx, dword [ebp - 0x74]
or ecx, eax
mov dword [ebp - 0x74], ecx
movsx eax, word [0x1007f1a8]
cdq
mov ecx, dword [0x1007f180]
xor esi, esi
add ecx, 0xd407b8ab
adc esi, 0x75a13
sub eax, ecx
sbb edx, esi
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
push 0
push 0xd65d90ba
mov edx, dword [0x1007f1c4]
push edx
mov eax, dword [0x1007f1c0]
push eax
call fcn.1005a1b0
mov dx, word [0x1007f168]
mov ecx, eax
shl dx, cl
mov word [0x1007f168], dx
jmp 0x100249de
mov dword [ebp - 0x58], 0xd50cdbf3
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
mov dword [0x1007f120], eax
mov dword [0x1007f124], ecx
mov edx, 0xd55c
mov word [0x1007f1b8], dx
jmp 0x10024ac0
movzx eax, byte [ebp - 0x13]
test eax, eax
je 0x10024a1a
movzx ecx, word [0x1007f1b8]
add ecx, 0xa44
mov dword [ebp - 0x58], ecx
mov edx, dword [str.C]
sub edx, 0xa5b5
movzx eax, byte [0x1007f027]
and eax, edx
mov byte [0x1007f027], al
jmp 0x10024ac0
cmp dword [0x1007f1a4], 0
je 0x10024ac0
mov ecx, dword [0x1007f178]
add ecx, dword [0x1007f1c0]
mov edx, dword [0x1007f17c]
adc edx, dword [0x1007f1c4]
mov dword [0x1007f178], ecx
mov dword [0x1007f17c], edx
movzx eax, word [0x1007f1a0]
cdq
add eax, dword [ebp - 0x64]
adc edx, dword [ebp - 0x60]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
movsx eax, byte [ebp - 0x12]
cdq
mov ecx, dword [0x1007f198]
mov esi, dword [0x1007f19c]
push esi
push ecx
push edx
push eax
call fcn.1005a1b0
mov ecx, eax
mov esi, edx
movzx eax, word [ebp - 0x1c]
cdq
mov edi, dword [ebp - 0x48]
mov ebx, dword [ebp - 0x44]
sub edi, eax
sbb ebx, edx
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x43c], esi
mov esi, dword [0x1007f1d4]
sub edx, dword [0x1007f1d0]
sbb eax, esi
add edi, edx
adc ebx, eax
sub ecx, edi
mov esi, dword [ebp - 0x43c]
sbb esi, ebx
mov dword [0x1007f138], ecx
mov dword [0x1007f13c], esi
mov ecx, dword [0x1007f1bc]
xor edx, edx
mov dword [ebp - 0x6b8], ecx
mov dword [ebp - 0x6b4], edx
mov eax, dword [ebp - 0x6b8]
cmp eax, dword [ebp - 0x30]
jne 0x10024af6
mov ecx, dword [ebp - 0x6b4]
cmp ecx, dword [ebp - 0x2c]
jne 0x10024af6
mov dword [ebp - 0x280], 1
jmp 0x10024b00
mov dword [ebp - 0x280], 0
mov edx, dword [ebp - 0x280]
sub edx, dword [0x1007f180]
jne 0x10024b17
movsx eax, byte [ebp - 0x12]
cmp eax, 1
jg 0x10024b3a
mov byte [0x1007f027], 0xfb
mov eax, dword [0x1007f144]
cdq
mov ecx, dword [0x1007f1c0]
sub ecx, eax
not ecx
mov word [0x1007f148], cx
jmp 0x10024c75
mov edx, dword [str.C]
not edx
xor eax, eax
add edx, dword [0x1007f1b0]
adc eax, dword [0x1007f1b4]
mov dword [ebp - 0x6c0], edx
mov dword [ebp - 0x6bc], eax
mov ecx, dword [ebp - 0x6c0]
or ecx, dword [ebp - 0x6bc]
je 0x10024ba0
movzx eax, byte [0x1007f027]
cdq
push 0xb722
push 0x6cd48849
push edx
push eax
call fcn.1005a1b0
mov dword [0x1007f154], eax
movzx edx, word [0x1007f128]
imul eax, edx, 0x1a53
mov word [0x1007f1c8], ax
jmp 0x10024c75
cmp dword [ebp - 0x74], 0
jne 0x10024bd8
mov ecx, dword [0x1007f190]
mov edx, dword [0x1007f194]
mov dword [ebp - 0x6c8], ecx
mov dword [ebp - 0x6c4], edx
mov eax, dword [ebp - 0x6c8]
or eax, dword [ebp - 0x6c4]
jne 0x10024bd8
mov dword [ebp - 0x288], 0
jmp 0x10024be2
mov dword [ebp - 0x288], 1
movzx ecx, word [0x1007f1a0]
test ecx, ecx
jne 0x10024bf9
mov dword [ebp - 0x284], 1
jmp 0x10024c03
mov dword [ebp - 0x284], 0
movzx edx, word [0x1007f1c8]
cmp edx, dword [ebp - 0x284]
jne 0x10024c1e
mov dword [ebp - 0x28c], 1
jmp 0x10024c28
mov dword [ebp - 0x28c], 0
mov eax, dword [ebp - 0x288]
not eax
mov ecx, dword [ebp - 0x28c]
not ecx
cmp eax, ecx
jg 0x10024c75
movsx edx, word [ebp - 0x18]
imul eax, edx, 0x64
cdq
mov dword [0x1007f198], eax
mov dword [0x1007f19c], edx
movsx eax, byte [ebp - 0x11]
not eax
cdq
add eax, dword [0x1007f120]
adc edx, dword [0x1007f124]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x74]
not eax
add eax, dword [ebp - 0x80]
mov dword [0x1007f170], eax
push 0
lea ecx, [ebp - 0xd10]
push ecx
push 0
call dword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
test eax, eax
je 0x10024c9b
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x10026119
mov byte [0x1007f027], 0x78
mov edx, 4
imul eax, edx, 0x1a4
mov ecx, dword [0x1007f170]
add ecx, dword [eax + 0x102b9e20]
mov dword [0x1007f170], ecx
movsx edx, word [ebp - 0x20]
test edx, edx
je 0x10024d3c
mov eax, dword [ebp - 0x64]
or eax, dword [ebp - 0x60]
jne 0x10024cdb
mov dword [ebp - 0x290], 1
jmp 0x10024ce5
mov dword [ebp - 0x290], 0
mov ecx, dword [ebp - 0x5c]
xor esi, esi
add ecx, dword [0x1007f120]
adc esi, dword [0x1007f124]
xor edx, edx
sub ecx, dword [0x1007f158]
sbb esi, edx
movzx eax, word [0x1007f168]
movzx edx, word [ebp - 0x1c]
add eax, edx
sub eax, dword [ebp - 0x290]
cdq
push edx
push eax
push esi
push ecx
call fcn.1005a1b0
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], edx
mov eax, dword [0x1007f138]
mov ecx, dword [0x1007f13c]
add eax, 0x1604
adc ecx, 0
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
mov edx, dword [0x1007fc38]
mov dword [ebp - 0xd4], edx
call dword [sym.imp.USER32.dll_GetShellWindow]
mov dword [0x1007f144], eax
mov eax, dword [ebp - 0xd4]
add eax, 0x39b
mov dword [ebp - 0x798], eax
mov eax, dword [ebp - 0x70]
cdq
mov dword [ebp - 0x6d0], eax
mov dword [ebp - 0x6cc], edx
mov ecx, dword [0x1007f1b4]
cmp ecx, dword [ebp - 0x6cc]
jl 0x10024d9e
jg 0x10024d92
mov edx, dword [0x1007f1b0]
cmp edx, dword [ebp - 0x6d0]
jb 0x10024d9e
mov dword [ebp - 0x294], 1
jmp 0x10024da8
mov dword [ebp - 0x294], 0
cmp dword [0x1007f1b4], 0
jl 0x10024dc8
jg 0x10024dbc
cmp dword [0x1007f1b0], 0xf
jb 0x10024dc8
mov dword [ebp - 0x298], 1
jmp 0x10024dd2
mov dword [ebp - 0x298], 0
mov eax, dword [ebp - 0x294]
cmp eax, dword [ebp - 0x298]
je 0x10024e08
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x29c], eax
cmp dword [ebp - 0x29c], 0
je 0x10024e08
mov ecx, dword [ebp - 0x29c]
push ecx
call dword [sym.imp.USER32.dll_GetWindowDC]
mov dword [ebp - 0x79c], eax
mov edx, dword [ebp - 0xd4]
add edx, 0x3af
mov dword [ebp - 0x440], edx
mov dword [str.C], 1
mov eax, dword [ebp - 0x7c]
sub eax, 0x35
mov ecx, dword [ebp - 0x78]
sbb ecx, 0
mov dword [0x1007f190], eax
mov dword [0x1007f194], ecx
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
push 0
push 0x962e46c8
push eax
push edx
call fcn.1005a1b0
mov dword [0x1007f144], eax
mov cx, word [0x1007fc38]
mov word [0x1007f148], cx
mov edx, dword [str.C]
mov dword [ebp - 0x2a0], edx
cmp dword [ebp - 0x2a0], 0
je 0x10024e82
cmp dword [ebp - 0x2a0], 1
je 0x10024ed3
jmp 0x10024edd
cmp dword [ebp - 0x84], 0
je 0x10024e97
movsx eax, byte [ebp - 0x12]
mov dword [ebp - 0x2a4], eax
jmp 0x10024ea3
mov ecx, dword [0x1007f154]
mov dword [ebp - 0x2a4], ecx
mov edx, dword [ebp - 0x2a4]
xor eax, eax
mov dword [0x1007f1c0], edx
mov dword [0x1007f1c4], eax
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
add ecx, 0xb5
adc edx, 0
mov dword [0x1007f198], ecx
mov dword [0x1007f19c], edx
jmp 0x10024edd
mov dword [0x1007f180], 0xb7ff44ca
mov eax, dword [ebp - 0xd4]
add eax, 0x4d0
mov dword [ebp - 0x98], eax
movsx ecx, word [ebp - 0x20]
test ecx, ecx
je 0x100250e0
mov edx, dword [0x1007f1b0]
or edx, dword [0x1007f1b4]
je 0x10024f1f
movzx eax, word [0x1007f16c]
test eax, eax
je 0x10024f1f
mov dword [ebp - 0x2a8], 1
jmp 0x10024f29
mov dword [ebp - 0x2a8], 0
mov eax, dword [0x1007f144]
cdq
mov dword [ebp - 0x6d8], eax
mov dword [ebp - 0x6d4], edx
mov ecx, dword [0x1007f18c]
cmp ecx, dword [ebp - 0x6d4]
ja 0x10024f65
jb 0x10024f59
mov edx, dword [0x1007f188]
cmp edx, dword [ebp - 0x6d8]
ja 0x10024f65
mov dword [ebp - 0x2ac], 1
jmp 0x10024f6f
mov dword [ebp - 0x2ac], 0
mov eax, dword [ebp - 0x2a8]
cmp eax, dword [ebp - 0x2ac]
jg 0x10024f89
mov dword [ebp - 0x2b0], 1
jmp 0x10024f93
mov dword [ebp - 0x2b0], 0
mov ecx, dword [ebp - 0x2b0]
not ecx
test ecx, ecx
je 0x100250a8
movsx edx, word [0x1007f1a8]
movzx eax, byte [ebp - 0x13]
cmp edx, eax
jne 0x10024fbe
mov dword [ebp - 0x2b4], 1
jmp 0x10024fc8
mov dword [ebp - 0x2b4], 0
movsx ecx, word [0x1007f1a8]
cmp ecx, 0x1a
jne 0x10024fe0
mov dword [ebp - 0x2b8], 1
jmp 0x10024fea
mov dword [ebp - 0x2b8], 0
mov edx, dword [ebp - 0x2b4]
cmp edx, dword [ebp - 0x2b8]
jg 0x10025032
mov eax, dword [0x1007fc38]
xor ecx, ecx
mov dword [0x1007f160], eax
mov dword [0x1007f164], ecx
mov dx, word [0x1007f188]
mov word [ebp - 0x24], dx
movsx eax, byte [ebp - 0x11]
cdq
xor eax, 0xe18b76b9
xor edx, 0xe3d6b
mov dword [0x1007f130], eax
mov dword [0x1007f134], edx
jmp 0x100250a6
movsx eax, byte [ebp - 0x11]
test eax, eax
jne 0x1002504e
xor ecx, ecx
mov dword [ebp - 0x408], 1
mov dword [ebp - 0x404], ecx
jmp 0x10025059
xorps xmm0, xmm0
movlpd qword [ebp - 0x408], xmm0
mov edx, dword [ebp - 0x404]
push edx
mov eax, dword [ebp - 0x408]
push eax
mov ecx, dword [ebp - 0x78]
push ecx
mov edx, dword [ebp - 0x7c]
push edx
call fcn.1005a1b0
not eax
mov word [0x1007f1a0], ax
movsx eax, word [ebp - 0x24]
imul eax, eax, 0x45d4b811
cdq
mov dword [0x1007f178], eax
mov dword [0x1007f17c], edx
movzx ecx, byte [ebp - 0x13]
movzx edx, byte [0x1007f026]
sub ecx, edx
mov word [0x1007f14c], cx
jmp 0x100250e0
xor eax, eax
je 0x100250e0
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
sub ecx, dword [ebp - 0x64]
sbb edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
push edx
push ecx
push esi
push eax
call fcn.1005a1b0
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
movzx eax, word [0x1007f128]
add eax, 0x9e92
cdq
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov ecx, dword [ebp - 0x98]
imul ecx, dword [ebp - 0x440]
imul edx, ecx, 0x2e8
mov eax, dword [ebp - 0x98]
add eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x98]
or ecx, 0x21d
imul eax, ecx
cmp edx, eax
je 0x10026119
movzx eax, byte [0x1007f04e]
cdq
mov ecx, eax
sub ecx, 0x894e1f3c
movsx eax, byte [ebp - 0x12]
cdq
add eax, ecx
mov byte [ebp - 0x12], al
xor edx, edx
mov dword [0x1007f178], 0xd55c0035
mov dword [0x1007f17c], edx
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x6e0], eax
mov dword [ebp - 0x6dc], ecx
mov edx, dword [ebp - 0x6e0]
or edx, dword [ebp - 0x6dc]
jne 0x1002516e
mov dword [ebp - 0x2bc], 1
jmp 0x10025178
mov dword [ebp - 0x2bc], 0
mov eax, dword [ebp - 0x54]
sub eax, dword [ebp - 0x2bc]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [0x1007f1d4]
add ecx, dword [0x1007f1d0]
adc esi, edx
movsx eax, byte [ebp - 0x12]
cdq
sub eax, dword [ebp - 0x30]
sbb edx, dword [ebp - 0x2c]
sub ecx, eax
sbb esi, edx
mov dword [0x1007f130], ecx
mov dword [0x1007f134], esi
movzx eax, byte [ebp - 0x13]
test eax, eax
je 0x100251c6
movzx ecx, word [0x1007f1b8]
mov dword [ebp - 0x2c0], ecx
jmp 0x100251d2
mov edx, dword [0x1007f144]
mov dword [ebp - 0x2c0], edx
mov al, byte [ebp - 0x2c0]
mov byte [ebp - 0x13], al
mov eax, dword [0x1007f140]
cdq
mov ecx, eax
xor ecx, 0x422b09a3
movsx eax, word [0x1007f15c]
cdq
sub eax, ecx
mov word [0x1007f15c], ax
movsx eax, word [ebp - 0x20]
cdq
mov dword [ebp - 0x6e8], eax
mov dword [ebp - 0x6e4], edx
mov edx, dword [ebp - 0x6e4]
cmp edx, dword [ebp - 0x60]
jg 0x10025269
jl 0x10025222
mov eax, dword [ebp - 0x6e8]
cmp eax, dword [ebp - 0x64]
ja 0x10025269
movzx eax, word [0x1007f1b8]
cdq
mov ecx, dword [0x1007f160]
mov esi, dword [0x1007f164]
push esi
push ecx
push edx
push eax
call fcn.1005a1b0
mov dword [0x1007f188], eax
mov dword [0x1007f18c], edx
mov edx, dword [0x1007f190]
mov eax, dword [0x1007f194]
sub edx, 0x3c80
sbb eax, 0
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], eax
jmp 0x100253f2
movzx eax, byte [0x1007f027]
cdq
mov ecx, dword [0x1007f120]
not ecx
mov esi, dword [0x1007f124]
not esi
mov dword [ebp - 0x6f0], eax
mov dword [ebp - 0x6ec], edx
mov dword [ebp - 0x6f8], ecx
mov dword [ebp - 0x6f4], esi
mov edx, dword [ebp - 0x6ec]
cmp edx, dword [ebp - 0x6f4]
jb 0x100252c3
ja 0x100252b7
mov eax, dword [ebp - 0x6f0]
cmp eax, dword [ebp - 0x6f8]
jb 0x100252c3
mov dword [ebp - 0x2c4], 1
jmp 0x100252cd
mov dword [ebp - 0x2c4], 0
mov ecx, dword [ebp - 0x84]
cmp dword [ebp - 0x2c4], ecx
jb 0x100252e7
mov dword [ebp - 0x338], 1
jmp 0x100252f1
mov dword [ebp - 0x338], 0
mov edx, dword [ebp - 0x338]
not edx
test edx, edx
je 0x10025328
mov eax, dword [0x1007fc38]
mov dword [ebp - 0x70], eax
mov ecx, dword [ebp - 0x64]
sub ecx, dword [0x1007f1b0]
mov edx, dword [ebp - 0x60]
sbb edx, dword [0x1007f1b4]
add ecx, dword [ebp - 0x64]
adc edx, dword [ebp - 0x60]
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], edx
jmp 0x100253f2
cmp dword [ebp - 0x58], 0
je 0x1002534b
imul eax, dword [ebp - 0x70], 0x23bb
mov dword [ebp - 0x28], eax
mov ecx, dword [0x1007fc38]
xor edx, edx
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x78], edx
jmp 0x100253f2
movzx eax, byte [ebp - 0x13]
cmp dword [ebp - 0x58], eax
jge 0x10025360
mov dword [ebp - 0x2cc], 1
jmp 0x1002536a
mov dword [ebp - 0x2cc], 0
movsx ecx, byte [ebp - 0x12]
movzx edx, word [0x1007f1b8]
cmp ecx, edx
je 0x10025385
mov dword [ebp - 0x2d0], 1
jmp 0x1002538f
mov dword [ebp - 0x2d0], 0
mov eax, dword [ebp - 0x2cc]
cmp eax, dword [ebp - 0x2d0]
jge 0x100253f2
mov ecx, dword [ebp - 0x84]
imul ecx, dword [0x1007f140]
mov dword [0x1007f140], ecx
mov edx, dword [0x1007f198]
mov eax, dword [0x1007f19c]
mov dword [ebp - 0x7a0], eax
sub edx, 0xbb
mov dword [0x1007f144], edx
push 0
push 0xa59340d2
mov ecx, dword [0x1007f1c4]
push ecx
mov edx, dword [0x1007f1c0]
push edx
call fcn.1005a1b0
mov dword [0x1007f198], eax
mov dword [0x1007f19c], edx
lea eax, [ebp - 0xb08]
push eax
push str._s.ocx
lea ecx, [ebp - 0x1b48]
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
movzx edx, word [ebp - 0x1c]
test edx, edx
je 0x100254ac
push 0xfe
call fcn.10037420
add esp, 4
movzx eax, ax
mov dword [0x1007f140], eax
cmp dword [0x1007f140], 0
jge 0x10025444
mov dword [ebp - 0x2d4], 1
jmp 0x1002544e
mov dword [ebp - 0x2d4], 0
cmp dword [0x1007f140], 0x58
jge 0x10025463
mov dword [ebp - 0x2d8], 1
jmp 0x1002546d
mov dword [ebp - 0x2d8], 0
mov ecx, dword [ebp - 0x2d4]
cmp ecx, dword [ebp - 0x2d8]
je 0x100254aa
movsx edx, word [ebp - 0x24]
shl edx, 7
mov dword [ebp - 0x58], edx
movsx eax, byte [ebp - 0x11]
imul ecx, eax, 0xec7debb3
mov dx, word [ebp - 0x1c]
shl dx, cl
mov word [ebp - 0x1c], dx
movzx eax, word [0x1007f1b8]
cdq
add eax, 0x2c8b36e8
mov dword [ebp - 0x28], eax
jmp 0x100254ea
movzx eax, word [ebp - 0x1c]
add eax, 0xb5
cdq
mov dword [0x1007f1b0], eax
mov dword [0x1007f1b4], edx
movzx eax, word [0x1007f168]
cdq
add eax, 0xd06b469c
mov word [0x1007f1b8], ax
xor eax, eax
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
add ecx, dword [str.C]
adc edx, eax
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], edx
movzx eax, word [0x1007f168]
cdq
mov dword [ebp - 0x700], eax
mov dword [ebp - 0x6fc], edx
mov eax, dword [ebp - 0x68]
cmp eax, dword [ebp - 0x6fc]
jb 0x10025522
ja 0x10025516
mov ecx, dword [ebp - 0x6c]
cmp ecx, dword [ebp - 0x700]
jb 0x10025522
mov dword [ebp - 0x2dc], 1
jmp 0x1002552c
mov dword [ebp - 0x2dc], 0
cmp dword [ebp - 0x68], 0
ja 0x10025538
cmp dword [ebp - 0x6c], 0x15
jb 0x10025544
mov dword [ebp - 0x2e0], 1
jmp 0x1002554e
mov dword [ebp - 0x2e0], 0
mov edx, dword [ebp - 0x2dc]
cmp edx, dword [ebp - 0x2e0]
jg 0x100255e3
mov eax, dword [ebp - 0x7c]
or eax, dword [ebp - 0x78]
je 0x10025589
movsx ecx, byte [ebp - 0x11]
xor ecx, 0xd7a5fd9b
xor edx, edx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x58]
sar eax, 8
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
jmp 0x100255de
movsx eax, word [0x1007f1a8]
test eax, eax
je 0x100255de
movzx ecx, byte [0x1007f027]
movzx edx, word [0x1007f168]
add ecx, edx
mov byte [0x1007f027], cl
mov eax, dword [0x1007f1c0]
mov edx, dword [0x1007f1c4]
mov cl, 4
call fcn.1005a1f0
mov dword [0x1007f178], eax
mov dword [0x1007f17c], edx
mov eax, 4
imul ecx, eax, 0x70b1
mov edx, dword [ebp - 0x28]
and edx, dword [ecx + 0x100e04e0]
mov dword [ebp - 0x28], edx
jmp 0x1002574e
mov eax, dword [0x1007f178]
or eax, dword [0x1007f17c]
je 0x1002561f
mov ecx, dword [ebp - 0x6c]
add ecx, 0x6a2726dc
mov edx, dword [ebp - 0x68]
adc edx, 0
mov dword [0x1007f188], ecx
mov dword [0x1007f18c], edx
mov eax, 0x30956
mov dword [ebp - 0x6c], 0xb0ce232a
mov dword [ebp - 0x68], eax
jmp 0x1002574e
mov ecx, dword [0x1007f138]
mov edx, dword [0x1007f13c]
mov dword [ebp - 0x708], ecx
mov dword [ebp - 0x704], edx
mov eax, dword [ebp - 0x708]
or eax, dword [ebp - 0x704]
je 0x10025688
movsx eax, word [0x1007f148]
cdq
push 0xf91e
push 0x12703342
push edx
push eax
call fcn.1005a1b0
mov word [0x1007f16c], ax
mov ecx, 8
mov word [0x1007f1c8], cx
mov edx, dword [0x1007fc38]
xor eax, eax
mov dword [0x1007f130], edx
mov dword [0x1007f134], eax
jmp 0x1002574e
cmp dword [ebp - 0x28], 0
je 0x100256a5
movzx ecx, byte [0x1007f027]
test ecx, ecx
je 0x100256a5
mov dword [ebp - 0x2e4], 1
jmp 0x100256af
mov dword [ebp - 0x2e4], 0
mov ecx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
add ecx, dword [ebp - 0x64]
adc esi, dword [ebp - 0x60]
mov eax, dword [ebp - 0x2e4]
not eax
cdq
mov dword [ebp - 0x710], ecx
mov dword [ebp - 0x70c], esi
mov dword [ebp - 0x718], eax
mov dword [ebp - 0x714], edx
mov edx, dword [ebp - 0x70c]
cmp edx, dword [ebp - 0x714]
jg 0x1002574e
jl 0x100256fa
mov eax, dword [ebp - 0x710]
cmp eax, dword [ebp - 0x718]
ja 0x1002574e
mov byte [0x1007f026], 0x5d
movzx ecx, byte [0x1007f04e]
test ecx, ecx
je 0x10025725
mov edx, dword [0x1007f1d0]
mov eax, dword [0x1007f1d4]
mov dword [ebp - 0x350], edx
mov dword [ebp - 0x34c], eax
jmp 0x10025736
movsx eax, byte [ebp - 0x12]
cdq
mov dword [ebp - 0x350], eax
mov dword [ebp - 0x34c], edx
mov ecx, dword [ebp - 0x350]
mov edx, dword [ebp - 0x34c]
mov dword [0x1007f178], ecx
mov dword [0x1007f17c], edx
push 0
push 0
lea eax, [ebp - 0x1b48]
push eax
lea ecx, [ebp - 0xd10]
push ecx
lea edx, [ebp - 0x1120]
push edx
call fcn.100068c0
add esp, 0x14
movzx eax, word [0x1007f1b8]
sub eax, 0x4fdc
mov word [0x1007f1c8], ax
movsx ecx, word [ebp - 0x20]
test ecx, ecx
jne 0x10025795
mov dword [ebp - 0x2e8], 1
jmp 0x1002579f
mov dword [ebp - 0x2e8], 0
movsx eax, word [0x1007f148]
xor eax, dword [ebp - 0x2e8]
cdq
mov dword [0x1007f160], eax
mov dword [0x1007f164], edx
xor edx, edx
mov byte [ebp - 0x8a], dl
lea eax, [ebp - 0xf18]
push eax
lea ecx, [ebp - 0x1120]
push ecx
lea ecx, [ebp - 0x8a]
call fcn.10002fc0
mov ecx, eax
call fcn.10002020
push eax
call fcn.1001d540
add esp, 0xc
test eax, eax
je 0x100259e7
call dword [sym.imp.USER32.dll_GetDialogBaseUnits]
xor edx, edx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movzx eax, word [0x1007f1c8]
test eax, eax
jne 0x10025821
movzx ecx, word [0x1007f1c8]
test ecx, ecx
je 0x10025821
mov dword [ebp - 0x2ec], 1
jmp 0x1002582b
mov dword [ebp - 0x2ec], 0
movzx edx, byte [0x1007f04e]
cmp dword [ebp - 0x2ec], edx
je 0x10025846
mov dword [ebp - 0x2f0], 1
jmp 0x10025850
mov dword [ebp - 0x2f0], 0
movzx eax, byte [0x1007f026]
cdq
mov ecx, dword [0x1007f18c]
push ecx
mov ecx, dword [0x1007f188]
push ecx
push edx
push eax
call fcn.1005a1b0
mov dword [ebp - 0x720], eax
mov dword [ebp - 0x71c], edx
cmp dword [ebp - 0x720], 0xf5d309a3
jne 0x1002589d
cmp dword [ebp - 0x71c], 0x20c20
jne 0x1002589d
mov dword [ebp - 0x2f4], 1
jmp 0x100258a7
mov dword [ebp - 0x2f4], 0
mov edx, dword [ebp - 0x2f0]
cmp edx, dword [ebp - 0x2f4]
jl 0x1002592c
cmp dword [ebp - 0x5c], 0
je 0x100258ca
movzx eax, word [0x1007f1a0]
shl eax, 5
mov dword [ebp - 0x54], eax
jmp 0x1002592a
cmp dword [ebp - 0x80], 0
jne 0x100258dc
mov dword [ebp - 0x2f8], 1
jmp 0x100258e6
mov dword [ebp - 0x2f8], 0
mov ecx, dword [0x1007f120]
not ecx
mov edx, dword [0x1007f124]
not edx
mov eax, dword [ebp - 0x2f8]
and eax, dword [str.C]
xor esi, esi
push esi
push eax
push edx
push ecx
call fcn.1005a1b0
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movsx ecx, byte [ebp - 0x12]
movzx edx, word [0x1007f1a0]
imul ecx, edx
movsx eax, byte [ebp - 0x12]
or eax, ecx
mov byte [ebp - 0x12], al
jmp 0x10025987
movsx ecx, word [0x1007f15c]
test ecx, ecx
je 0x10025942
movzx edx, byte [0x1007f04e]
test edx, edx
jne 0x10025987
movsx eax, byte [ebp - 0x11]
cdq
mov ecx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
sub ecx, eax
sbb esi, edx
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
push esi
push ecx
push eax
push edx
call fcn.1005a1b0
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov ecx, dword [0x1007f154]
xor edx, edx
mov eax, dword [0x1007f190]
mov esi, dword [0x1007f194]
push esi
push eax
push edx
push ecx
call fcn.1005a1b0
mov dword [0x1007f154], eax
mov ecx, dword [0x1007f154]
not ecx
add ecx, dword [ebp - 0x70]
movzx edx, word [0x1007f14c]
mov eax, dword [ebp - 0x54]
sub eax, edx
and ecx, eax
movsx edx, word [ebp - 0x20]
imul eax, dword [0x1007f180], 0x8bd1bd70
lea edx, [edx + eax + 0x5b12]
add ecx, edx
mov byte [0x1007f027], cl
mov eax, dword [0x1007f180]
add eax, dword [0x1007f140]
mov dword [0x1007f180], eax
movzx ecx, word [0x1007f16c]
mov edx, dword [ebp - 0x80]
imul edx, ecx
mov dword [ebp - 0x80], edx
mov eax, 1
jmp 0x1002623c
jmp 0x100259fd
jmp 0x10025a04
jmp 0x10025a15
xor eax, eax
mov byte [ebp - 0x90], al
lea ecx, [ebp - 0xf18]
push ecx
lea edx, [ebp - 0x1120]
push edx
lea ecx, [ebp - 0x90]
call fcn.10003170
mov ecx, eax
call fcn.10002000
push eax
call fcn.1001d540
add esp, 0xc
test eax, eax
je 0x10026119
movzx eax, word [ebp - 0x1c]
cmp eax, dword [ebp - 0x74]
jae 0x10025a63
mov dword [ebp - 0x2fc], 1
jmp 0x10025a6d
mov dword [ebp - 0x2fc], 0
movzx ecx, word [ebp - 0x1c]
cmp ecx, 0x11
jge 0x10025a82
mov dword [ebp - 0x300], 1
jmp 0x10025a8c
mov dword [ebp - 0x300], 0
mov edx, dword [ebp - 0x2fc]
cmp edx, dword [ebp - 0x300]
jg 0x10025ab5
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x7a4], ecx
push eax
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov dword [ebp - 0x84], eax
jmp 0x10025af0
cmp dword [0x1007f140], 0
je 0x10025af0
movsx edx, byte [ebp - 0x12]
add edx, 0x7929d468
xor eax, eax
mov dword [0x1007f1d0], edx
mov dword [0x1007f1d4], eax
mov ecx, dword [0x1007f130]
mov edx, dword [0x1007f134]
sub ecx, 0x2da2dabe
sbb edx, 0
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], edx
mov eax, dword [0x1007f190]
mov ecx, dword [0x1007f194]
mov dword [ebp - 0x728], eax
mov dword [ebp - 0x724], ecx
mov edx, dword [ebp - 0x728]
or edx, dword [ebp - 0x724]
jne 0x10025b29
xor eax, eax
mov dword [ebp - 0x410], 1
mov dword [ebp - 0x40c], eax
jmp 0x10025b34
xorps xmm0, xmm0
movlpd qword [ebp - 0x410], xmm0
mov ecx, dword [0x1007f198]
mov esi, dword [0x1007f19c]
add ecx, dword [ebp - 0x410]
adc esi, dword [ebp - 0x40c]
movzx eax, word [0x1007f128]
not eax
cdq
sub ecx, eax
sbb esi, edx
movsx eax, byte [ebp - 0x11]
movzx edx, word [0x1007f1b8]
add eax, edx
cdq
mov edi, eax
mov ebx, edx
movzx eax, byte [0x1007f04e]
cdq
add eax, dword [ebp - 0x6c]
adc edx, dword [ebp - 0x68]
add edi, eax
adc ebx, edx
sub ecx, edi
sbb esi, ebx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], esi
mov eax, dword [0x1007f198]
mov ecx, dword [0x1007f19c]
push ecx
push eax
mov edx, dword [ebp - 0x2c]
push edx
mov eax, dword [ebp - 0x30]
push eax
call fcn.1005a1b0
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov ecx, dword [0x1007fc38]
mov dword [ebp - 0xb8], ecx
mov ecx, 9
mov esi, str.ActivesafeguardIDb
lea edi, [ebp - 0x870]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x870]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov word [0x1007f1a0], ax
mov eax, dword [ebp - 0xb8]
add eax, 0x352
mov dword [ebp - 0x7a8], eax
mov ecx, dword [0x1007f178]
add ecx, dword [0x1007f188]
mov edx, dword [0x1007f17c]
adc edx, dword [0x1007f18c]
mov eax, dword [0x1007f178]
sub eax, ecx
mov ecx, dword [0x1007f17c]
sbb ecx, edx
mov dword [0x1007f178], eax
mov dword [0x1007f17c], ecx
mov eax, dword [ebp - 0x70]
cdq
sub eax, 0xaf2d6bed
sbb edx, 0xd33a8
mov ecx, dword [ebp - 0x40]
sub ecx, eax
mov eax, dword [ebp - 0x3c]
sbb eax, edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0xb8]
add ecx, 0x420
mov dword [ebp - 0x444], ecx
movzx edx, word [0x1007f1c8]
test edx, edx
je 0x10025d26
mov eax, dword [ebp - 0x80]
cmp eax, dword [0x1007f154]
jb 0x10025cda
movsx ecx, word [ebp - 0x18]
movsx edx, word [ebp - 0x20]
add ecx, edx
jne 0x10025c89
xor eax, eax
mov dword [ebp - 0x730], 1
mov dword [ebp - 0x72c], eax
jmp 0x10025c94
xorps xmm0, xmm0
movlpd qword [ebp - 0x730], xmm0
mov eax, dword [ebp - 0x88]
not eax
cdq
mov ecx, dword [0x1007f190]
mov edx, dword [0x1007f194]
mov dword [ebp - 0x7ac], edx
sub eax, ecx
add eax, dword [ebp - 0x730]
mov dword [ebp - 0x74], eax
mov eax, 8
mov word [0x1007f168], ax
movzx eax, byte [0x1007f026]
not eax
xor eax, dword [ebp - 0x70]
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
jmp 0x10025d26
mov eax, dword [ebp - 0x80]
cdq
add eax, 0x1e302c13
adc edx, 0x1f632
mov dword [ebp - 0x738], eax
mov dword [ebp - 0x734], edx
mov ecx, dword [ebp - 0x738]
or ecx, dword [ebp - 0x734]
je 0x10025d26
movzx eax, byte [0x1007f04e]
cdq
add eax, 0xcb3a7e63
mov word [ebp - 0x1c], ax
mov edx, dword [ebp - 0x30]
add edx, 1
mov eax, dword [ebp - 0x2c]
adc eax, 0
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0xb8]
add ecx, 0x4ac
mov dword [ebp - 0x448], ecx
xorps xmm0, xmm0
movlpd qword [ebp - 0x48], xmm0
push 0
push 0x299fe0ef
mov edx, dword [ebp - 0x78]
push edx
mov eax, dword [ebp - 0x7c]
push eax
call fcn.1005a1b0
mov dword [ebp - 0x740], eax
mov dword [ebp - 0x73c], edx
mov ecx, dword [ebp - 0x740]
or ecx, dword [ebp - 0x73c]
jne 0x10025d7a
mov dword [ebp - 0x304], 1
jmp 0x10025d84
mov dword [ebp - 0x304], 0
movzx eax, word [ebp - 0x1c]
xor eax, dword [ebp - 0x304]
cdq
mov ecx, eax
movzx eax, word [0x1007f14c]
cdq
mov esi, eax
sub esi, 0xdfedf84d
movzx eax, word [ebp - 0x1c]
cdq
mov edx, dword [0x1007f190]
mov edi, dword [0x1007f194]
mov dword [ebp - 0x7b0], edi
sub eax, edx
or esi, eax
and ecx, esi
mov byte [ebp - 0x13], cl
movsx eax, byte [ebp - 0x11]
add eax, 0x37
cdq
mov dword [0x1007f1d0], eax
mov dword [0x1007f1d4], edx
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x748], eax
mov dword [ebp - 0x744], ecx
mov edx, dword [ebp - 0x748]
or edx, dword [ebp - 0x744]
je 0x10025df6
jmp 0x10025e48
movzx eax, byte [0x1007f027]
imul eax, dword [ebp - 0x5c]
mov byte [0x1007f027], al
mov ecx, 0x64d1f
mov dword [0x1007f138], 0xc258730f
mov dword [0x1007f13c], ecx
cmp dword [0x1007f170], 0
je 0x10025e32
mov edx, dword [0x1007f180]
mov dword [ebp - 0x308], edx
jmp 0x10025e3d
mov eax, dword [0x1007f1a4]
mov dword [ebp - 0x308], eax
mov cx, word [ebp - 0x308]
mov word [ebp - 0x18], cx
mov edx, dword [ebp - 0x444]
imul edx, dword [ebp - 0x448]
cmp edx, 0x26e
je 0x10026119
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
mov word [0x1007f148], ax
movsx eax, word [0x1007f148]
test eax, eax
jg 0x10025e84
mov dword [ebp - 0x30c], 1
jmp 0x10025e8e
mov dword [ebp - 0x30c], 0
movsx ecx, word [0x1007f148]
cmp ecx, 0x14
jg 0x10025ea6
mov dword [ebp - 0x310], 1
jmp 0x10025eb0
mov dword [ebp - 0x310], 0
mov edx, dword [ebp - 0x30c]
cmp edx, dword [ebp - 0x310]
jle 0x10025fbc
mov eax, dword [0x1007f198]
mov ecx, dword [0x1007f19c]
mov dword [ebp - 0x750], eax
mov dword [ebp - 0x74c], ecx
mov edx, dword [ebp - 0x74c]
cmp edx, dword [ebp - 0x3c]
jg 0x10025efd
jl 0x10025ef1
mov eax, dword [ebp - 0x750]
cmp eax, dword [ebp - 0x40]
ja 0x10025efd
mov dword [ebp - 0x2c8], 1
jmp 0x10025f07
mov dword [ebp - 0x2c8], 0
mov ecx, dword [0x1007f198]
mov edx, dword [0x1007f19c]
mov dword [ebp - 0x758], ecx
mov dword [ebp - 0x754], edx
cmp dword [ebp - 0x754], 0
jg 0x10025f3f
jl 0x10025f33
cmp dword [ebp - 0x758], 0x64
ja 0x10025f3f
mov dword [ebp - 0x314], 1
jmp 0x10025f49
mov dword [ebp - 0x314], 0
mov eax, dword [ebp - 0x2c8]
cmp eax, dword [ebp - 0x314]
jl 0x10025f7f
mov ecx, 0xc174
mov word [0x1007f1a0], cx
mov edx, 8
imul eax, edx, 0x49
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x78]
mov dword [eax + 0x1016a990], ecx
mov dword [eax + 0x1016a994], edx
jmp 0x10025fb7
cmp dword [ebp - 0x5c], 0
je 0x10025fb7
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x7b4], edx
add ecx, 0x983902fa
movsx eax, byte [ebp - 0x12]
cdq
or eax, ecx
mov byte [ebp - 0x12], al
mov eax, dword [0x1007f170]
add eax, dword [0x1007f1bc]
add eax, dword [0x1007f170]
mov dword [0x1007f170], eax
jmp 0x1002605e
mov ecx, 0xaa068c32
or ecx, 0x48a53
je 0x10025fdd
mov edx, dword [ebp - 0x30]
or edx, dword [ebp - 0x2c]
je 0x10025fdd
mov dword [ebp - 0x318], 1
jmp 0x10025fe7
mov dword [ebp - 0x318], 0
mov eax, dword [ebp - 0x318]
not eax
test eax, eax
je 0x1002605e
mov ecx, 0xa706d
mov dword [ebp - 0x30], 0xa4acc5a4
mov dword [ebp - 0x2c], ecx
mov edx, 8
imul eax, edx, 9
mov ecx, dword [eax + 0x1016a990]
mov dword [ebp - 0x80], ecx
cmp dword [ebp - 0x54], 0
je 0x1002602f
movzx eax, byte [0x1007f04e]
cdq
mov dword [ebp - 0x358], eax
mov dword [ebp - 0x354], edx
jmp 0x10026046
mov edx, dword [0x1007f178]
mov eax, dword [0x1007f17c]
mov dword [ebp - 0x358], edx
mov dword [ebp - 0x354], eax
mov ecx, dword [ebp - 0x358]
mov edx, dword [ebp - 0x354]
mov dword [0x1007f130], ecx
mov dword [0x1007f134], edx
mov eax, dword [0x1007f120]
xor eax, 0x1ad1
mov byte [0x1007f026], al
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
movzx eax, byte [0x1007f026]
cdq
mov ecx, dword [0x1007f138]
mov esi, dword [0x1007f13c]
or ecx, eax
or esi, edx
mov edx, dword [ebp - 0x34]
mov eax, dword [0x1007f178]
sub eax, dword [ebp - 0x38]
mov edi, dword [0x1007f17c]
sbb edi, edx
sub ecx, eax
sbb esi, edi
mov dword [ebp - 0x760], ecx
mov dword [ebp - 0x75c], esi
mov ecx, dword [ebp - 0x760]
or ecx, dword [ebp - 0x75c]
jne 0x100260d6
xor edx, edx
mov dword [ebp - 0x418], 1
mov dword [ebp - 0x414], edx
jmp 0x100260e1
xorps xmm0, xmm0
movlpd qword [ebp - 0x418], xmm0
mov eax, dword [ebp - 0x58]
cdq
add eax, 0xbe074ed4
adc edx, 0x2cdb6
not eax
not edx
mov ecx, dword [ebp - 0x414]
push ecx
mov ecx, dword [ebp - 0x418]
push ecx
push edx
push eax
call fcn.1005a1b0
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov eax, 1
jmp 0x1002623c
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x31c], eax
mov dword [ebp - 0x450], 0
cmp dword [ebp - 0x31c], 0
je 0x10026163
mov dword [ebp - 0x44c], 1
mov edx, dword [ebp - 0x44c]
push edx
mov eax, dword [ebp - 0x450]
push eax
mov ecx, dword [ebp - 0x31c]
push ecx
call dword [sym.imp.USER32.dll_GetUpdateRect]
mov dword [ebp - 0x7b8], eax
movzx edx, word [ebp - 0x1c]
test edx, edx
je 0x1002621f
movzx eax, word [0x1007f1b8]
movsx ecx, word [ebp - 0x20]
cmp eax, ecx
jl 0x100261c1
imul edx, dword [ebp - 0x58], 0x83b1
mov dword [0x1007f144], edx
mov eax, dword [0x1007f138]
mov ecx, dword [0x1007f13c]
mov dword [ebp - 0x7bc], ecx
add eax, 0x5c155723
mov word [ebp - 0x24], ax
mov edx, dword [0x1007f190]
mov eax, dword [0x1007f194]
add edx, 0xb52b9443
adc eax, 0
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], eax
jmp 0x1002621d
push 0
push 0x43
mov ecx, dword [ebp - 0x2c]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.1005a1b0
mov dword [ebp - 0x768], eax
mov dword [ebp - 0x764], edx
mov eax, dword [ebp - 0x768]
or eax, dword [ebp - 0x764]
jne 0x1002621d
mov cx, word [0x1007fc38]
mov word [0x1007f16c], cx
movzx eax, byte [0x1007f027]
cdq
xor eax, dword [ebp - 0x40]
mov byte [0x1007f027], al
movzx eax, word [0x1007f128]
sub eax, 0x6338
cdq
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
jmp 0x1002623a
mov edx, dword [0x1007f154]
xor eax, eax
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], eax
movsx ecx, byte [ebp - 0x12]
imul edx, ecx, 0x77
mov dword [0x1007f140], edx
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret