Function at 0x100314f0
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10066580
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x550
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x534], 0xf6
movsx eax, word [0x1007f1a8]
mov dword [ebp - 0x58], eax
movzx ecx, byte [0x1007f026]
mov dword [ebp - 0x30], ecx
movzx dx, byte [0x1007f026]
mov word [ebp - 0x24], dx
mov ax, word [0x1007f16c]
mov word [ebp - 0x28], ax
mov cl, byte [0x1007f120]
mov byte [ebp - 0x13], cl
mov dx, word [0x1007f16c]
mov word [ebp - 0x20], dx
mov byte [ebp - 0x19], 0x15
mov eax, 0xe5dc
mov word [ebp - 0x2c], ax
mov cx, word [0x1007f1b8]
mov byte [ebp - 0x12], cl
mov edx, dword [0x1007f178]
mov eax, dword [0x1007f17c]
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], eax
mov ecx, dword [0x1007f1bc]
xor edx, edx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], edx
mov eax, dword [0x1007f138]
mov ecx, dword [0x1007f13c]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], ecx
mov edx, dword [0x1007f120]
mov dword [ebp - 0x4c], edx
mov eax, 0x8c72e
mov dword [ebp - 0x44], 0xa6fdf8f6
mov dword [ebp - 0x40], eax
movzx eax, byte [0x1007f04e]
cdq
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
mov ecx, 0x357
mov word [ebp - 0x18], cx
mov dx, word [0x1007f188]
mov word [ebp - 0x3c], dx
mov dword [ebp - 0x7c], 0x3945a32e
mov byte [ebp - 0x14], 0x7c
mov dword [ebp - 0x48], 0xad2a
xor eax, eax
mov dword [ebp - 0x78], 0x6a5d
mov dword [ebp - 0x74], eax
movzx ecx, byte [0x1007f026]
mov dword [ebp - 0x68], ecx
movsx edx, word [0x1007f148]
mov dword [ebp - 0x64], edx
mov byte [ebp - 0x11], 0x58
mov eax, 0xffffaf70
mov word [ebp - 0x3a4], ax
mov dword [ebp - 0x538], 0xf2
mov ecx, dword [0x1007f154]
mov dword [ebp - 0x4a8], ecx
xor edx, edx
mov dword [ebp - 0x528], 0x4f6fc784
mov dword [ebp - 0x524], edx
mov ax, word [0x1007f14c]
mov word [ebp - 0x3a0], ax
mov ecx, dword [0x1007f160]
mov edx, dword [0x1007f164]
mov dword [ebp - 0x4ac], edx
mov word [ebp - 0x39c], cx
mov eax, 0xffffccea
mov word [ebp - 0x398], ax
mov dword [ebp - 0x4b0], 0xf70b147f
mov byte [ebp - 0x91], 9
mov dword [ebp - 0x4b4], 0x61b53d68
xor ecx, ecx
mov dword [ebp - 0x530], 0x3c
mov dword [ebp - 0x52c], ecx
mov edx, dword [ebp - 0x60]
push edx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov word [ebp - 0x2c], ax
mov eax, dword [0x1007fc38]
mov dword [ebp - 0x98], eax
mov ecx, dword [ebp - 0x70]
add ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
adc edx, dword [ebp - 0x6c]
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], edx
mov ecx, dword [0x1007f158]
xor esi, esi
mov edx, dword [0x1007f160]
mov eax, dword [0x1007f164]
not edx
not eax
sub ecx, edx
sbb esi, eax
movzx eax, word [ebp - 0x20]
movzx edx, word [0x1007f1b8]
not edx
add eax, edx
cdq
sub ecx, eax
sbb esi, edx
movsx eax, word [0x1007f148]
cdq
push edx
push eax
push esi
push ecx
call fcn.1005a1b0
mov word [0x1007f1a8], ax
mov eax, dword [ebp - 0x98]
add eax, 0x333
mov dword [ebp - 0x4b8], eax
mov cx, word [0x1007f1a8]
add cx, 1
mov word [0x1007f1a8], cx
mov edx, dword [0x1007f154]
xor eax, eax
mov ecx, dword [0x1007f138]
mov esi, dword [0x1007f13c]
push eax
push edx
push esi
push ecx
call fcn.1005a1b0
mov dword [0x1007f138], eax
mov dword [0x1007f13c], edx
mov edx, dword [ebp - 0x98]
add edx, 0x16e
mov dword [ebp - 0x4bc], edx
movsx eax, word [ebp - 0x18]
movsx ecx, word [0x1007f15c]
sub eax, ecx
movsx edx, word [ebp - 0x18]
sub edx, eax
mov word [ebp - 0x18], dx
movzx eax, word [0x1007f1c8]
imul ecx, eax, 0x17ac
mov byte [ebp - 0x19], cl
mov ecx, dword [ebp - 0x60]
xor ecx, 0x6274b4dd
mov eax, dword [0x1007f1a4]
cdq
add eax, ecx
mov dword [0x1007f1a4], eax
mov edx, dword [ebp - 0x98]
add edx, 0x430
mov dword [ebp - 0x3b0], edx
xor eax, eax
mov dword [0x1007f1d0], 1
mov dword [0x1007f1d4], eax
mov dword [ebp - 0x58], 0xd8
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
push 0
push 0xb3
push edx
push ecx
call fcn.1005a1b0
mov ecx, dword [0x1007f170]
add ecx, eax
mov dword [0x1007f170], ecx
mov edx, dword [0x1007f1d0]
mov eax, dword [0x1007f1d4]
mov dword [ebp - 0x224], edx
mov dword [ebp - 0x220], eax
mov ecx, dword [ebp - 0x224]
or ecx, dword [ebp - 0x220]
je 0x1003183a
cmp dword [ebp - 0x224], 1
jne 0x10031835
cmp dword [ebp - 0x220], 0
je 0x10031883
jmp 0x100318bd
movzx edx, word [ebp - 0x2c]
test edx, edx
je 0x10031855
movsx eax, word [ebp - 0x3c]
cdq
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x230], edx
jmp 0x10031867
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x230], ecx
mov dl, byte [ebp - 0x234]
mov byte [ebp - 0x14], dl
movzx eax, word [0x1007f1b8]
and eax, 0xc4de6c93
mov byte [0x1007f027], al
jmp 0x100318bd
mov ecx, dword [0x1007f120]
mov dword [ebp - 0x30], ecx
movzx eax, word [ebp - 0x20]
cdq
mov edx, dword [0x1007f1d0]
mov ecx, dword [0x1007f1d4]
mov dword [ebp - 0x4c0], ecx
not edx
sub eax, edx
mov word [0x1007f128], ax
movsx edx, byte [ebp - 0x13]
sub edx, 0xe506
mov byte [0x1007f026], dl
mov eax, dword [0x1007fc38]
mov dword [ebp - 0xa4], eax
mov ecx, dword [0x1007f180]
sub ecx, dword [ebp - 0x58]
not ecx
sub ecx, dword [ebp - 0x60]
mov word [ebp - 0x20], cx
mov edx, dword [0x1007f198]
mov eax, dword [0x1007f19c]
sub edx, 0x96fe
sbb eax, 0
mov dword [0x1007f1d0], edx
mov dword [0x1007f1d4], eax
movsx eax, word [0x1007f1a8]
cdq
sub eax, 0xbec7b229
mov word [0x1007f168], ax
mov ecx, dword [ebp - 0xa4]
add ecx, 0x4d8
mov dword [ebp - 0x1b8], ecx
mov ecx, 9
mov esi, str.Failedtosetinputfi
lea edi, [ebp - 0x560]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x560]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cdq
mov dword [0x1007f178], eax
mov dword [0x1007f17c], edx
mov eax, dword [ebp - 0xa4]
add eax, 0x1e7
mov dword [ebp - 0x4c4], eax
mov ecx, dword [0x1007f1d0]
mov edx, dword [0x1007f1d4]
mov eax, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
mov dword [ebp - 0x3c0], ecx
mov dword [ebp - 0x3bc], edx
mov dword [ebp - 0x3c8], eax
mov dword [ebp - 0x3c4], esi
mov ecx, dword [ebp - 0x3bc]
cmp ecx, dword [ebp - 0x3c4]
jl 0x10031c53
jg 0x100319ac
mov edx, dword [ebp - 0x3c0]
cmp edx, dword [ebp - 0x3c8]
jb 0x10031c53
mov dword [ebp - 0xa0], 0x29
mov eax, dword [ebp - 0x60]
or eax, dword [ebp - 0x5c]
jne 0x100319ca
mov dword [ebp - 0x214], 1
jmp 0x100319d4
mov dword [ebp - 0x214], 0
mov eax, dword [ebp - 0x64]
xor eax, dword [ebp - 0x214]
cdq
and eax, dword [0x1007f1d0]
and edx, dword [0x1007f1d4]
mov dword [ebp - 0x3d0], eax
mov dword [ebp - 0x3cc], edx
mov ecx, dword [ebp - 0x3d0]
or ecx, dword [ebp - 0x3cc]
jne 0x10031a18
xor edx, edx
mov dword [ebp - 0x23c], 1
mov dword [ebp - 0x238], edx
jmp 0x10031a23
xorps xmm0, xmm0
movlpd qword [ebp - 0x23c], xmm0
movzx eax, byte [ebp - 0x12]
cdq
mov ecx, dword [0x1007f13c]
sub eax, dword [0x1007f138]
sbb edx, ecx
mov ecx, dword [0x1007f170]
not ecx
xor esi, esi
sub ecx, dword [0x1007f1b0]
sbb esi, dword [0x1007f1b4]
sub eax, ecx
sbb edx, esi
mov ecx, dword [ebp - 0x238]
push ecx
mov ecx, dword [ebp - 0x23c]
push ecx
push edx
push eax
call fcn.1005a1b0
mov dword [0x1007f158], eax
cmp dword [ebp - 0x48], 0
jne 0x10031a84
xor edx, edx
mov dword [ebp - 0x3f0], 1
mov dword [ebp - 0x3ec], edx
jmp 0x10031a8f
xorps xmm0, xmm0
movlpd qword [ebp - 0x3f0], xmm0
mov eax, dword [0x1007f160]
mov ecx, dword [0x1007f164]
mov dword [ebp - 0x3d8], eax
mov dword [ebp - 0x3d4], ecx
mov edx, dword [ebp - 0x3d8]
or edx, dword [ebp - 0x3d4]
jne 0x10031ac8
xor eax, eax
mov dword [ebp - 0x3f8], 1
mov dword [ebp - 0x3f4], eax
jmp 0x10031ad3
xorps xmm0, xmm0
movlpd qword [ebp - 0x3f8], xmm0
mov ecx, dword [0x1007f130]
mov edx, dword [0x1007f134]
mov dword [ebp - 0x2f4], ecx
mov dword [ebp - 0x2f0], edx
mov eax, dword [ebp - 0x2f4]
or eax, dword [ebp - 0x2f0]
jne 0x10031b05
mov dword [ebp - 0x218], 1
jmp 0x10031b0f
mov dword [ebp - 0x218], 0
mov ecx, dword [0x1007f1d0]
mov edx, dword [0x1007f1d4]
mov dword [ebp - 0x3e8], ecx
mov dword [ebp - 0x3e4], edx
mov eax, dword [ebp - 0x3e8]
or eax, dword [ebp - 0x3e4]
jne 0x10031b41
mov dword [ebp - 0x21c], 1
jmp 0x10031b4b
mov dword [ebp - 0x21c], 0
mov ecx, dword [ebp - 0x54]
sub ecx, dword [ebp - 0x3f0]
xor ecx, dword [ebp - 0x3f8]
mov eax, dword [ebp - 0x218]
or eax, dword [ebp - 0x21c]
cdq
mov esi, eax
movsx eax, word [0x1007f1a8]
cdq
and eax, 0xc255cc92
sub esi, eax
or ecx, esi
mov word [ebp - 0x28], cx
mov edx, dword [ebp - 0x70]
add edx, 0xb836
mov byte [ebp - 0x11], dl
mov dword [ebp - 0x9c], 0x3e
movzx eax, word [0x1007f16c]
sar eax, 4
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movzx eax, word [0x1007f128]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], esi
movzx edx, word [ebp - 0x20]
imul eax, edx, 0xdf9747d4
test eax, eax
jne 0x10031bd7
mov dword [ebp - 0xe8], 1
jmp 0x10031be1
mov dword [ebp - 0xe8], 0
mov ecx, dword [ebp - 0xe8]
xor ecx, 7
mov dword [0x1007f144], ecx
movzx edx, word [0x1007f1a0]
movzx eax, word [0x1007f1b8]
not eax
add edx, eax
mov word [ebp - 0x2c], dx
movsx ecx, word [ebp - 0x18]
sub ecx, 0x126a0362
mov word [0x1007f1c8], cx
mov edx, dword [ebp - 0x9c]
add edx, 1
mov dword [ebp - 0x9c], edx
cmp dword [ebp - 0x9c], 0x525
jl 0x10031bbd
mov eax, dword [ebp - 0xa0]
add eax, 1
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0x9af
jl 0x10031b8a
jmp 0x10031ccc
movsx ecx, word [ebp - 0x3c]
cmp ecx, 0x1dd2
je 0x10031ccc
movzx edx, word [0x1007f168]
xor edx, 0x7a08bc58
jne 0x10031c7a
mov dword [ebp - 0xec], 1
jmp 0x10031c84
mov dword [ebp - 0xec], 0
mov eax, dword [ebp - 0x60]
or eax, dword [ebp - 0x5c]
jne 0x10031c98
mov dword [ebp - 0xf0], 1
jmp 0x10031ca2
mov dword [ebp - 0xf0], 0
movzx ecx, word [0x1007f1c8]
add ecx, dword [ebp - 0xec]
mov edx, dword [ebp - 0xf0]
and edx, 0x822a
add ecx, edx
mov byte [ebp - 0x11], cl
mov ax, word [0x1007fc38]
mov word [0x1007f14c], ax
mov ecx, dword [ebp - 0xa4]
add ecx, 0x1ce
mov dword [ebp - 0x4c8], ecx
mov edx, dword [0x1007f1a4]
push edx
call dword [sym.imp.USER32.dll_OpenIcon]
mov byte [ebp - 0x13], al
mov ax, word [0x1007fc38]
mov word [ebp - 0x24], ax
movsx eax, word [0x1007f1a8]
cdq
mov ecx, eax
and ecx, 0xdf5763a2
movsx eax, word [ebp - 0x18]
cdq
xor eax, ecx
mov word [ebp - 0x18], ax
mov ecx, dword [0x1007f130]
mov edx, dword [0x1007f134]
mov dword [ebp - 0x4cc], edx
add ecx, 0x82b75aa6
movzx eax, word [0x1007f14c]
cdq
and eax, ecx
mov word [0x1007f14c], ax
movzx eax, word [0x1007f128]
movsx ecx, word [0x1007f15c]
sub eax, ecx
add eax, dword [ebp - 0x7c]
movsx edx, word [0x1007f1a8]
and eax, edx
mov word [ebp - 0x18], ax
movzx eax, word [0x1007f16c]
xor eax, dword [ebp - 0x48]
movzx ecx, word [0x1007f16c]
sub ecx, eax
mov word [0x1007f16c], cx
mov dword [ebp - 0x90], 0
movsx edx, word [ebp - 0x18]
test edx, edx
jne 0x10031d93
mov dword [ebp - 0xf4], 1
jmp 0x10031d9d
mov dword [ebp - 0xf4], 0
movzx eax, byte [ebp - 0x19]
mov ecx, dword [0x1007f144]
add ecx, eax
imul ecx, dword [ebp - 0xf4]
mov eax, ecx
cdq
mov esi, eax
mov edi, edx
movzx eax, word [0x1007f1b8]
not eax
cdq
push edx
push eax
mov edx, dword [0x1007f17c]
push edx
mov eax, dword [0x1007f178]
push eax
call fcn.1005a1b0
push edx
push eax
push edi
push esi
call fcn.1005a1b0
mov word [0x1007f16c], ax
mov cl, byte [ebp - 0x54]
mov edx, 1
imul eax, edx, 0x1350
mov byte [eax + 0x103c7cb0], cl
mov dword [ebp - 0x520], 0
jmp 0x10031e0e
jmp 0x10031e17
mov dword [ebp - 0x4d0], 0
movsx ecx, word [ebp - 0x18]
movsx edx, word [0x1007f15c]
cmp ecx, edx
je 0x10031e86
mov eax, dword [0x1007f188]
or eax, dword [0x1007f18c]
je 0x10031e49
movsx ecx, byte [ebp - 0x13]
mov dword [ebp - 0xf8], ecx
jmp 0x10031e56
movzx edx, word [0x1007f168]
mov dword [ebp - 0xf8], edx
mov ax, word [ebp - 0xf8]
mov word [ebp - 0x28], ax
movsx ecx, word [ebp - 0x18]
sub ecx, 0xde
mov dword [ebp - 0x68], ecx
movzx eax, word [ebp - 0x20]
cdq
sub eax, 0xa8f9ed59
sbb edx, 0xd177
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
jmp 0x10031ee7
cmp dword [0x1007f1a4], 0xbb
jl 0x10031e9e
mov dword [ebp - 0xfc], 1
jmp 0x10031ea8
mov dword [ebp - 0xfc], 0
mov edx, dword [ebp - 0xfc]
cmp edx, dword [ebp - 0x68]
jg 0x10031ee7
movsx eax, byte [ebp - 0x13]
add eax, 0xf9
mov dword [0x1007f154], eax
movzx ecx, word [ebp - 0x20]
imul eax, ecx, 0xf9
cdq
mov dword [0x1007f198], eax
mov dword [0x1007f19c], edx
movzx edx, byte [0x1007f026]
and edx, 0x2448c0cf
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x4d4], 0
cmp dword [ebp - 0x64], 0
je 0x100321f2
movsx eax, word [0x1007f15c]
cdq
mov dword [ebp - 0x400], eax
mov dword [ebp - 0x3fc], edx
mov eax, dword [0x1007f178]
cmp eax, dword [ebp - 0x400]
jne 0x10031f2a
mov ecx, dword [0x1007f17c]
cmp ecx, dword [ebp - 0x3fc]
je 0x10031f36
mov dword [ebp - 0x100], 1
jmp 0x10031f40
mov dword [ebp - 0x100], 0
cmp dword [0x1007f178], 0x3f
jne 0x10031f52
cmp dword [0x1007f17c], 0
je 0x10031f5e
mov dword [ebp - 0x104], 1
jmp 0x10031f68
mov dword [ebp - 0x104], 0
mov edx, dword [ebp - 0x100]
cmp edx, dword [ebp - 0x104]
jg 0x1003216d
push 0
push 0
push 0
push 0xf1
movsx eax, word [ebp - 0x28]
cdq
push edx
push eax
call fcn.10035b90
add esp, 0x18
mov word [0x1007f128], ax
movzx eax, word [0x1007f128]
test eax, eax
je 0x10032044
movsx eax, word [ebp - 0x3c]
cdq
mov dword [ebp - 0x408], eax
mov dword [ebp - 0x404], edx
mov ecx, dword [ebp - 0x404]
cmp ecx, dword [0x1007f124]
jb 0x10032000
ja 0x10031fd8
mov edx, dword [ebp - 0x408]
cmp edx, dword [0x1007f120]
jb 0x10032000
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x64], eax
mov ecx, dword [0x1007f144]
mov word [0x1007f15c], cx
movzx edx, byte [0x1007f027]
add edx, 1
mov eax, dword [ebp - 0x30]
imul eax, edx
mov dword [ebp - 0x30], eax
jmp 0x1003203f
mov ecx, 0x265b3
mov dword [ebp - 0x60], 0x23f83c13
mov dword [ebp - 0x5c], ecx
movzx edx, byte [0x1007f026]
movzx eax, word [0x1007f16c]
add edx, eax
movzx ecx, byte [0x1007f026]
imul ecx, edx
mov byte [0x1007f026], cl
mov edx, dword [0x1007f170]
sub edx, 0xf1
mov word [ebp - 0x20], dx
jmp 0x10032168
mov ecx, dword [ebp - 0x78]
mov esi, dword [ebp - 0x74]
mov eax, dword [ebp - 0x7c]
cdq
mov dword [ebp - 0x410], ecx
mov dword [ebp - 0x40c], esi
mov dword [ebp - 0x418], eax
mov dword [ebp - 0x414], edx
mov edx, dword [ebp - 0x40c]
cmp edx, dword [ebp - 0x414]
jg 0x100320d0
jl 0x10032084
mov eax, dword [ebp - 0x410]
cmp eax, dword [ebp - 0x418]
ja 0x100320d0
movzx ecx, word [0x1007f1a0]
test ecx, ecx
jne 0x1003209b
mov dword [ebp - 0x108], 1
jmp 0x100320a5
mov dword [ebp - 0x108], 0
mov eax, dword [ebp - 0x108]
sub eax, dword [0x1007f140]
movzx edx, word [ebp - 0x24]
add eax, edx
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov eax, dword [0x1007f1bc]
sub eax, 1
mov dword [0x1007f1bc], eax
jmp 0x10032168
movsx ecx, word [ebp - 0x3c]
test ecx, ecx
jne 0x10032113
mov edx, 1
imul eax, edx, 0x9895
movsx cx, byte [eax + 0x10316e28]
mov word [0x1007f1a8], cx
mov edx, dword [0x1007f1b0]
add edx, 0x82
mov eax, dword [0x1007f1b4]
adc eax, 0
mov dword [0x1007f188], edx
mov dword [0x1007f18c], eax
jmp 0x10032168
mov ecx, dword [0x1007f130]
mov edx, dword [0x1007f134]
not ecx
not edx
mov dword [ebp - 0x420], ecx
mov dword [ebp - 0x41c], edx
cmp dword [ebp - 0x41c], 0
jl 0x10032168
jg 0x10032143
cmp dword [ebp - 0x420], 0x7f
jb 0x10032168
mov ax, word [0x1007fc38]
mov word [ebp - 0x24], ax
movzx eax, word [ebp - 0x20]
cdq
add eax, 0x34af2958
adc edx, 0x6323f
mov dword [0x1007f190], eax
mov dword [0x1007f194], edx
jmp 0x100321ed
movzx ecx, word [ebp - 0x20]
test ecx, ecx
jne 0x10032181
mov dword [ebp - 0x10c], 1
jmp 0x1003218b
mov dword [ebp - 0x10c], 0
movzx edx, word [ebp - 0x24]
add edx, dword [ebp - 0x10c]
je 0x100321ed
mov eax, dword [0x1007f140]
cdq
mov ecx, eax
mov edx, dword [0x1007f190]
mov eax, dword [0x1007f194]
mov dword [ebp - 0x4d8], eax
sub ecx, edx
mov eax, dword [0x1007f140]
cdq
sub eax, ecx
mov dword [0x1007f140], eax
mov ecx, dword [0x1007f120]
sub ecx, 1
mov edx, dword [0x1007f124]
sbb edx, 0
mov dword [0x1007f120], ecx
mov dword [0x1007f124], edx
mov ax, word [0x1007f168]
sub ax, 1
mov word [0x1007f168], ax
jmp 0x100323f3
mov ecx, dword [0x1007f180]
not ecx
test ecx, ecx
je 0x10032255
cmp dword [0x1007f158], 0
jne 0x10032255
mov edx, dword [0x1007f130]
mov eax, dword [0x1007f134]
mov dword [ebp - 0x4dc], eax
mov ecx, 2
imul eax, ecx, 0x3e
mov word [eax + 0x10316d70], dx
mov ecx, dword [0x1007f170]
add ecx, 0xfb7b4aff
mov dword [ebp - 0x58], ecx
mov edx, dword [0x1007f1d0]
mov eax, dword [0x1007f1d4]
mov dword [ebp - 0x4e0], eax
and edx, 0x168f45d5
mov byte [ebp - 0x14], dl
jmp 0x100323f3
mov ecx, dword [0x1007f130]
mov edx, dword [0x1007f134]
mov dword [ebp - 0x428], ecx
mov dword [ebp - 0x424], edx
mov eax, dword [ebp - 0x428]
or eax, dword [ebp - 0x424]
jne 0x10032287
mov dword [ebp - 0x110], 1
jmp 0x10032291
mov dword [ebp - 0x110], 0
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x430], ecx
mov dword [ebp - 0x42c], edx
cmp dword [ebp - 0x42c], 0xe7e38
jl 0x100322c9
jg 0x100322bd
cmp dword [ebp - 0x430], 0x5c70a460
jbe 0x100322c9
mov dword [ebp - 0x114], 1
jmp 0x100322d3
mov dword [ebp - 0x114], 0
movzx eax, word [ebp - 0x24]
add eax, dword [ebp - 0x110]
xor eax, dword [ebp - 0x114]
je 0x10032321
movzx ecx, word [0x1007f168]
sub ecx, 0x6473
mov dword [0x1007f1a4], ecx
movzx edx, word [0x1007f16c]
imul eax, edx, 0x52
mov dword [ebp - 0x68], eax
movsx ecx, word [ebp - 0x28]
movzx edx, word [0x1007f128]
add ecx, edx
movsx eax, word [ebp - 0x28]
sub eax, ecx
mov word [ebp - 0x28], ax
jmp 0x100323f3
mov ecx, dword [ebp - 0x48]
cmp dword [0x1007f1bc], ecx
jb 0x10032338
mov dword [ebp - 0x118], 1
jmp 0x10032342
mov dword [ebp - 0x118], 0
movsx eax, word [ebp - 0x18]
cdq
mov ecx, dword [0x1007f1d0]
mov esi, dword [0x1007f1d4]
mov dword [ebp - 0x438], eax
mov dword [ebp - 0x434], edx
mov dword [ebp - 0x440], ecx
mov dword [ebp - 0x43c], esi
mov edx, dword [ebp - 0x438]
cmp edx, dword [ebp - 0x440]
jne 0x10032387
mov eax, dword [ebp - 0x434]
cmp eax, dword [ebp - 0x43c]
je 0x10032393
mov dword [ebp - 0x11c], 1
jmp 0x1003239d
mov dword [ebp - 0x11c], 0
mov ecx, dword [ebp - 0x118]
cmp ecx, dword [ebp - 0x11c]
jne 0x100323f3
mov edx, dword [ebp - 0x30]
add edx, 0xf4c0
mov dword [ebp - 0x64], edx
mov ax, word [0x1007f1c8]
sub ax, 1
mov word [0x1007f1c8], ax
cmp dword [0x1007f1a4], 0
je 0x100323dc
movsx ecx, word [ebp - 0x28]
mov dword [ebp - 0x120], ecx
jmp 0x100323e6
movzx edx, byte [ebp - 0x14]
mov dword [ebp - 0x120], edx
mov ax, word [ebp - 0x120]
mov word [0x1007f16c], ax
movsx eax, word [0x1007f148]
cdq
xor eax, 0xc07a1074
xor edx, 0xcd838
add eax, dword [ebp - 0x60]
adc edx, dword [ebp - 0x5c]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
movzx eax, word [0x1007f16c]
cdq
mov ecx, dword [0x1007f1b4]
push ecx
mov ecx, dword [0x1007f1b0]
push ecx
push edx
push eax
call fcn.1005a1b0
mov ecx, eax
movzx eax, word [0x1007f16c]
cdq
add eax, ecx
mov word [0x1007f16c], ax
xor edx, edx
mov dword [ebp - 0x60], 0x82534a32
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x4e4], ecx
mov dword [ebp - 0x58], eax
cmp dword [str.C], 0
jne 0x10032479
xor edx, edx
mov dword [ebp - 0x244], 1
mov dword [ebp - 0x240], edx
jmp 0x10032484
xorps xmm0, xmm0
movlpd qword [ebp - 0x244], xmm0
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
and eax, dword [ebp - 0x244]
and ecx, dword [ebp - 0x240]
mov dword [ebp - 0x448], eax
mov dword [ebp - 0x444], ecx
mov edx, dword [ebp - 0x448]
or edx, dword [ebp - 0x444]
jne 0x100324c4
xor eax, eax
mov dword [ebp - 0x24c], 1
mov dword [ebp - 0x248], eax
jmp 0x100324cf
xorps xmm0, xmm0
movlpd qword [ebp - 0x24c], xmm0
mov ecx, dword [ebp - 0x24c]
mov edx, dword [ebp - 0x248]
mov dword [0x1007f160], ecx
mov dword [0x1007f164], edx
movsx eax, byte [ebp - 0x11]
sub eax, 0x6677
cdq
mov dword [0x1007f198], eax
mov dword [0x1007f19c], edx
cmp dword [0x1007f1a4], 0
jne 0x10032511
mov dword [ebp - 0x124], 1
jmp 0x1003251b
mov dword [ebp - 0x124], 0
mov eax, dword [ebp - 0x60]
or eax, dword [ebp - 0x5c]
jne 0x1003252f
mov dword [ebp - 0x128], 1
jmp 0x10032539
mov dword [ebp - 0x128], 0
movzx ecx, byte [0x1007f027]
not ecx
sub ecx, dword [ebp - 0x124]
mov edx, dword [ebp - 0x4c]
lea eax, [ecx + edx + 0x843f907]
imul eax, dword [ebp - 0x128]
mov word [ebp - 0x2c], ax
push 0
movzx ecx, word [0x1007f148]
push ecx
movzx edx, word [0x1007f1a0]
push edx
movzx eax, word [0x1007f140]
push eax
push 0x35
call fcn.10036740
add esp, 0x14
movsx ecx, ax
mov dword [ebp - 0x58], ecx
cmp dword [ebp - 0x58], 0
je 0x100325c1
call dword [sym.imp.USER32.dll_GetCursor]
mov dword [ebp - 0x3a8], eax
mov dword [ebp - 0x3ac], 0
cmp dword [ebp - 0x3a8], 0
je 0x100325bf
mov edx, dword [ebp - 0x3ac]
push edx
call dword [sym.imp.USER32.dll_GetCursorPos]
mov dword [ebp - 0x4e8], eax
jmp 0x100325d5
mov eax, dword [0x1007fc38]
mov dword [0x1007f158], eax
mov dword [0x1007f1a4], 0x434f4bf8
xor ecx, ecx
mov byte [ebp - 0x7d], cl
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x7d]
call fcn.10002490
mov ecx, eax
call fcn.10001fe0
push eax
push 0
push 0
call fcn.100015e0
add esp, 8
call eax
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x68]
cdq
mov ecx, eax
mov esi, edx
xor ecx, dword [ebp - 0x44]
xor esi, dword [ebp - 0x40]
movzx eax, word [ebp - 0x20]
cdq
sub eax, dword [0x1007f178]
sbb edx, dword [0x1007f17c]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x450], ecx
mov dword [ebp - 0x44c], esi
mov edx, dword [ebp - 0x450]
or edx, dword [ebp - 0x44c]
jne 0x10032651
mov eax, 1
mov word [ebp - 0x82], ax
jmp 0x1003265a
xor ecx, ecx
mov word [ebp - 0x82], cx
mov dx, word [ebp - 0x82]
mov word [ebp - 0x2c], dx
movzx eax, byte [0x1007f026]
add eax, 0x486f
mov word [ebp - 0x18], ax
movsx ecx, word [ebp - 0x3c]
test ecx, ecx
je 0x1003268b
mov edx, dword [0x1007f170]
mov dword [ebp - 0x12c], edx
jmp 0x10032695
movsx eax, byte [ebp - 0x11]
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0x12c]
xor edx, edx
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], edx
cmp dword [ebp - 0x3b0], 0x1ef
je 0x10032e24
mov dword [ebp - 0xa8], 0x380
jmp 0x100326ce
mov eax, dword [ebp - 0xa8]
sub eax, 1
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x100328e4
mov byte [ebp - 0x12], 3
movzx eax, word [0x1007f1c8]
sub eax, 0xc85e
cdq
mov dword [0x1007f1c0], eax
mov dword [0x1007f1c4], edx
movzx ecx, word [0x1007f14c]
mov edx, dword [ebp - 0x30]
sub edx, ecx
mov eax, dword [ebp - 0x30]
add eax, edx
mov dword [ebp - 0x30], eax
movzx ecx, byte [ebp - 0x12]
mov dword [ebp - 0x130], ecx
cmp dword [ebp - 0x130], 3
ja case.default.0x10032728
mov edx, dword [ebp - 0x130]
jmp dword [edx*4 + 0x10034d84]
mov eax, 2
mov word [ebp - 0x2c], ax
mov ecx, dword [ebp - 0x58]
add ecx, 0xe8c5
movzx edx, byte [0x1007f026]
imul edx, ecx
mov byte [0x1007f026], dl
movzx eax, byte [ebp - 0x12]
cdq
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0x4ec], edx
sub eax, ecx
mov byte [ebp - 0x12], al
jmp case.default.0x10032728
mov eax, dword [ebp - 0x64]
sar eax, 8
mov dword [ebp - 0x30], eax
mov dword [str.C], 0x45
jmp case.default.0x10032728
mov eax, dword [ebp - 0x48]
cdq
mov ecx, eax
add ecx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x48]
cdq
add eax, ecx
mov dword [ebp - 0x48], eax
movzx eax, word [0x1007f1a0]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [0x1007f138]
mov eax, dword [0x1007f13c]
add edx, dword [0x1007f1c0]
adc eax, dword [0x1007f1c4]
not edx
not eax
sub ecx, edx
sbb esi, eax
mov eax, dword [0x1007f1a4]
cdq
mov edi, dword [0x1007f194]
add eax, dword [0x1007f190]
adc edx, edi
add ecx, eax
adc esi, edx
not ecx
not esi
mov dword [0x1007f188], ecx
mov dword [0x1007f18c], esi
movsx ecx, byte [ebp - 0x13]
test ecx, ecx
jne 0x10032805
xor edx, edx
mov dword [ebp - 0x254], 1
mov dword [ebp - 0x250], edx
jmp 0x10032810
xorps xmm0, xmm0
movlpd qword [ebp - 0x254], xmm0
mov eax, dword [0x1007f1d4]
mov ecx, dword [ebp - 0x254]
sub ecx, dword [0x1007f1d0]
mov edx, dword [ebp - 0x250]
sbb edx, eax
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], edx
jmp case.default.0x10032728
mov eax, dword [0x1007f198]
mov ecx, dword [0x1007f19c]
mov dword [ebp - 0x4f0], ecx
sub eax, 0x1d
mov dword [ebp - 0x58], eax
movzx edx, byte [0x1007f04e]
test edx, edx
jne 0x10032862
mov dword [ebp - 0x134], 1
jmp 0x1003286c
mov dword [ebp - 0x134], 0
cmp dword [0x1007f144], 0
jne 0x10032881
mov dword [ebp - 0x138], 1
jmp 0x1003288b
mov dword [ebp - 0x138], 0
movsx eax, word [0x1007f1a8]
cdq
mov ecx, eax
mov esi, edx
add ecx, dword [ebp - 0x44]
adc esi, dword [ebp - 0x40]
mov edx, dword [ebp - 0x134]
add edx, dword [str.C]
xor eax, eax
add ecx, edx
adc esi, eax
not ecx
not esi
movsx eax, word [ebp - 0x18]
xor eax, dword [ebp - 0x138]
movzx edx, word [0x1007f1c8]
sub eax, edx
cdq
add ecx, eax
adc esi, edx
mov dword [0x1007f188], ecx
mov dword [0x1007f18c], esi
mov al, byte [ebp - 0x14]
add al, 1
mov byte [ebp - 0x14], al
jmp 0x100326bf
mov ecx, dword [str.updatepolicy.dll]
mov dword [ebp - 0x494], ecx
mov edx, dword [0x1006763c]
mov dword [ebp - 0x490], edx
mov eax, dword [0x10067640]
mov dword [ebp - 0x48c], eax
mov ecx, dword [0x10067644]
mov dword [ebp - 0x488], ecx
mov dl, byte [0x10067648]
mov byte [ebp - 0x484], dl
lea eax, [ebp - 0x494]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cdq
mov dword [0x1007f190], eax
mov dword [0x1007f194], edx
cmp dword [ebp - 0x88], 0
jne 0x10032e24
movzx ecx, word [ebp - 0x20]
mov dword [ebp - 0x30], ecx
movzx edx, word [ebp - 0x24]
add edx, 0xaf5
mov byte [0x1007f027], dl
movzx eax, word [0x1007f1b8]
imul eax, eax, 0x1d813be1
cdq
mov dword [0x1007f178], eax
mov dword [0x1007f17c], edx
xor ecx, ecx
mov dword [0x1007f160], 2
mov dword [0x1007f164], ecx
movzx edx, word [0x1007f1a0]
movzx eax, byte [0x1007f026]
imul edx, eax
movzx ecx, word [0x1007f1a0]
sub ecx, edx
mov word [0x1007f1a0], cx
mov edx, dword [0x1007f160]
mov eax, dword [0x1007f164]
mov dword [ebp - 0xe4], edx
mov dword [ebp - 0xe0], eax
mov ecx, dword [ebp - 0xe4]
or ecx, dword [ebp - 0xe0]
je 0x100329f6
cmp dword [ebp - 0xe4], 1
jne 0x100329df
cmp dword [ebp - 0xe0], 0
je 0x10032a29
cmp dword [ebp - 0xe4], 2
jne 0x100329f1
cmp dword [ebp - 0xe0], 0
je 0x10032a34
jmp 0x10032a7b
mov edx, dword [0x1007f138]
mov eax, dword [0x1007f13c]
mov dword [ebp - 0x4f4], eax
sub edx, 0x27b33f53
mov word [0x1007f128], dx
movsx ecx, word [0x1007f15c]
add ecx, dword [0x1007f170]
mov dword [0x1007f170], ecx
jmp 0x10032a7b
mov edx, dword [ebp - 0x7c]
sar edx, 8
mov dword [ebp - 0x58], edx
jmp 0x10032a7b
movzx eax, word [0x1007f168]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x4f8], eax
xor ecx, edx
movzx eax, word [0x1007f168]
cdq
add eax, ecx
mov word [0x1007f168], ax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
push 0
push 0x92
push edx
push ecx
call fcn.1005a1b0
mov dword [0x1007f198], eax
mov dword [0x1007f19c], edx
mov eax, dword [0x1007fc38]
mov dword [ebp - 0xac], eax
movsx eax, byte [ebp - 0x11]
cdq
sub eax, dword [ebp - 0x70]
mov byte [ebp - 0x11], al
xor ecx, ecx
mov dword [0x1007f120], 0x1f
mov dword [0x1007f124], ecx
movsx eax, byte [ebp - 0x13]
cdq
sub eax, dword [0x1007f178]
mov byte [ebp - 0x13], al
mov edx, dword [ebp - 0xac]
add edx, 0x2a5
mov dword [ebp - 0x13c], edx
mov eax, dword [ebp - 0x34]
push eax
mov ecx, dword [ebp - 0x38]
push ecx
mov edx, dword [0x1007f164]
push edx
mov eax, dword [0x1007f160]
push eax
push 0
push 0
call fcn.10035b90
add esp, 0x18
mov dword [0x1007f154], eax
movzx ecx, word [0x1007f1c8]
test ecx, ecx
jne 0x10032b3c
mov edx, dword [ebp - 0x4c]
xor edx, 0x5f6
mov dword [0x1007f170], edx
mov eax, dword [0x1007f158]
sub eax, 0x2ab91e73
xor ecx, ecx
mov dword [0x1007f160], eax
mov dword [0x1007f164], ecx
xor edx, edx
mov eax, dword [0x1007f160]
mov ecx, dword [0x1007f164]
sub eax, dword [0x1007f170]
sbb ecx, edx
mov dword [0x1007f160], eax
mov dword [0x1007f164], ecx
jmp 0x10032bb6
mov edx, dword [ebp - 0x54]
sub edx, 0xa08c9009
mov eax, dword [ebp - 0x50]
sbb eax, 0
mov ecx, dword [ebp - 0x78]
mov esi, dword [ebp - 0x74]
add ecx, edx
adc esi, eax
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], esi
mov edx, dword [0x1007f160]
mov eax, dword [0x1007f164]
mov dword [ebp - 0x458], edx
mov dword [ebp - 0x454], eax
mov ecx, dword [ebp - 0x458]
or ecx, dword [ebp - 0x454]
je 0x10032b99
mov edx, dword [0x1007f198]
mov eax, dword [0x1007f19c]
mov dword [ebp - 0x25c], edx
mov dword [ebp - 0x258], eax
jmp 0x10032baa
movzx eax, word [ebp - 0x20]
cdq
mov dword [ebp - 0x25c], eax
mov dword [ebp - 0x258], edx
mov ecx, dword [ebp - 0x25c]
mov dword [0x1007f1a4], ecx
mov edx, dword [ebp - 0xac]
add edx, 0x171
mov dword [ebp - 0xb0], edx
mov eax, dword [ebp - 0x68]
add eax, 0x6b6f7403
mov word [ebp - 0x28], ax
mov ecx, dword [0x1007f158]
add ecx, 0x3a2a
movzx edx, byte [ebp - 0x14]
sub edx, ecx
mov byte [ebp - 0x14], dl
mov eax, dword [ebp - 0xac]
add eax, 0x18c
mov dword [ebp - 0x4fc], eax
call dword [sym.imp.USER32.dll_GetDialogBaseUnits]
xor ecx, ecx
mov dword [0x1007f120], eax
mov dword [0x1007f124], ecx
mov edx, dword [ebp - 0xb0]
or edx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x13c]
imul eax, dword [ebp - 0xb0]
mov ecx, 0x8f
sub ecx, dword [ebp - 0x13c]
imul eax, ecx
cmp edx, eax
je 0x10032e24
mov edx, dword [0x1007f130]
mov eax, dword [0x1007f134]
mov dword [ebp - 0x460], edx
mov dword [ebp - 0x45c], eax
cmp dword [ebp - 0x45c], 0x85ca5
jg 0x10032c79
jl 0x10032c6d
cmp dword [ebp - 0x460], 0x850b9f23
ja 0x10032c79
mov dword [ebp - 0x140], 1
jmp 0x10032c83
mov dword [ebp - 0x140], 0
movsx eax, word [0x1007f148]
cdq
mov dword [ebp - 0x468], eax
mov dword [ebp - 0x464], edx
mov ecx, dword [ebp - 0x468]
cmp ecx, dword [ebp - 0x60]
jne 0x10032cb9
mov edx, dword [ebp - 0x464]
cmp edx, dword [ebp - 0x5c]
jne 0x10032cb9
mov dword [ebp - 0x144], 1
jmp 0x10032cc3
mov dword [ebp - 0x144], 0
mov eax, dword [ebp - 0x140]
sub eax, dword [ebp - 0x144]
not eax
test eax, eax
je 0x10032d9f
mov byte [ebp - 0x12], 2
movsx ecx, word [0x1007f1a8]
xor ecx, 0x75f1ff06
movzx edx, word [0x1007f128]
add edx, ecx
mov word [0x1007f128], dx
mov eax, dword [ebp - 0x30]
mov ecx, 2
imul edx, ecx, 0x49
mov word [edx + 0x102b9ce0], ax
mov al, byte [ebp - 0x12]
mov byte [ebp - 0xb4], al
cmp byte [ebp - 0xb4], 0
je 0x10032d32
cmp byte [ebp - 0xb4], 1
je 0x10032d53
cmp byte [ebp - 0xb4], 2
je 0x10032d76
jmp 0x10032d9f
mov ecx, dword [ebp - 0x64]
and ecx, 0x7150c1be
mov word [0x1007f148], cx
mov eax, dword [0x1007f144]
sub eax, 0x53
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
jmp 0x10032d9f
movzx edx, byte [0x1007f026]
imul eax, edx, 0xf93a
cdq
mov dword [0x1007f188], eax
mov dword [0x1007f18c], edx
mov eax, dword [ebp - 0x48]
mov dword [0x1007f170], eax
jmp 0x10032d9f
push 0
push 0x38
mov ecx, dword [0x1007f124]
push ecx
mov edx, dword [0x1007f120]
push edx
call fcn.1005a1b0
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov ax, word [ebp - 0x18]
add ax, 1
mov word [ebp - 0x18], ax
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x4c]
push ecx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
xor edx, edx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
jmp 0x10032e0d
mov dword [ebp - 4], 0xffffffff
jmp 0x10032e1d
xor eax, eax
jmp 0x10034d71
movzx eax, word [0x1007f1c8]
not eax
add eax, dword [ebp - 0x30]
cdq
mov ecx, eax
mov esi, edx
movsx eax, byte [ebp - 0x11]
cdq
mov edi, dword [0x1007f13c]
sub eax, dword [0x1007f138]
sbb edx, edi
and ecx, eax
and esi, edx
mov dword [ebp - 0x470], ecx
mov dword [ebp - 0x46c], esi
mov edx, dword [ebp - 0x470]
or edx, dword [ebp - 0x46c]
jne 0x10032e71
mov eax, 1
mov word [ebp - 0x80], ax
jmp 0x10032e77
xor ecx, ecx
mov word [ebp - 0x80], cx
mov dx, word [ebp - 0x80]
mov word [0x1007f148], dx
mov al, byte [0x1007f154]
mov byte [0x1007f04e], al
movsx ecx, word [ebp - 0x28]
sub ecx, 0x4533
mov dword [0x1007f170], ecx
push 0
push 0x80
push 2
push 0
push 0
push 0x40000000
mov edx, dword [ebp + 0xc]
push edx
push 0
push 0
call fcn.10001550
add esp, 8
call eax
mov dword [ebp - 0xcc], eax
push 0
push 0x84000000
push 0
push 0
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x88]
push ecx
push 0
push 0
call fcn.10001670
add esp, 8
call eax
mov dword [ebp - 0x18c], eax
mov ecx, dword [0x1007f160]
mov esi, dword [0x1007f164]
mov eax, dword [0x1007f1a4]
cdq
mov dword [ebp - 0x478], ecx
mov dword [ebp - 0x474], esi
mov dword [ebp - 0x480], eax
mov dword [ebp - 0x47c], edx
mov edx, dword [ebp - 0x478]
cmp edx, dword [ebp - 0x480]
jne 0x10032f36
mov eax, dword [ebp - 0x474]
cmp eax, dword [ebp - 0x47c]
je 0x10032f42
mov dword [ebp - 0x148], 1
jmp 0x10032f4c
mov dword [ebp - 0x148], 0
mov ecx, dword [0x1007f160]
mov edx, dword [0x1007f164]
mov dword [ebp - 0x294], ecx
mov dword [ebp - 0x290], edx
cmp dword [ebp - 0x294], 0x2c
jne 0x10032f76
cmp dword [ebp - 0x290], 0
je 0x10032f82
mov dword [ebp - 0x14c], 1
jmp 0x10032f8c
mov dword [ebp - 0x14c], 0
mov eax, dword [ebp - 0x148]
cmp eax, dword [ebp - 0x14c]
jg 0x10032fc9
mov ecx, dword [0x1007f140]
add ecx, dword [0x1007f154]
mov dword [0x1007f140], ecx
push 0x1beb0
push 0x8622f52d
mov edx, dword [ebp - 0x40]
push edx
mov eax, dword [ebp - 0x44]
push eax
call fcn.1005a1b0
mov word [0x1007f15c], ax
cmp dword [ebp - 0x18c], 0
jne 0x10033868
mov ecx, dword [ebp - 0x48]
push ecx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
xor edx, edx
mov dword [0x1007f120], eax
mov dword [0x1007f124], edx
movsx eax, byte [ebp - 0x11]
cdq
mov dword [ebp - 0x29c], eax
mov dword [ebp - 0x298], edx
mov eax, dword [ebp - 0x298]
cmp eax, dword [ebp - 0x40]
jb 0x10033022
ja 0x10033016
mov ecx, dword [ebp - 0x29c]
cmp ecx, dword [ebp - 0x44]
jbe 0x10033022
mov dword [ebp - 0x150], 1
jmp 0x1003302c
mov dword [ebp - 0x150], 0
movsx edx, byte [ebp - 0x11]
cmp edx, 0x1f
jle 0x10033041
mov dword [ebp - 0x154], 1
jmp 0x1003304b
mov dword [ebp - 0x154], 0
mov eax, dword [ebp - 0x150]
cmp eax, dword [ebp - 0x154]
jne 0x10033102
push 0
push 0x83
push 0x88
movsx cx, byte [ebp - 0x13]
movzx edx, cx
push edx
movsx ax, byte [ebp - 0x13]
movzx ecx, ax
push ecx
call fcn.10036ef0
add esp, 0x14
mov word [ebp - 0x2c], ax
cmp dword [ebp - 0x4c], 0
je 0x100330d7
mov edx, dword [str.OS_KIND]
mov dword [ebp - 0x4a4], edx
mov eax, dword [0x10067650]
mov dword [ebp - 0x4a0], eax
mov ecx, dword [0x10067654]
mov dword [ebp - 0x49c], ecx
mov edx, dword [0x10067658]
mov dword [ebp - 0x498], edx
lea eax, [ebp - 0x4a4]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cdq
mov dword [0x1007f198], eax
mov dword [0x1007f19c], edx
jmp 0x100330fd
movzx eax, byte [0x1007f04e]
cdq
mov dword [0x1007f1b0], eax
mov dword [0x1007f1b4], edx
mov ecx, 0xf147
mov word [ebp - 0x2c], cx
movzx edx, byte [ebp - 0x14]
sar edx, 3
mov dword [ebp - 0x4c], edx
jmp 0x100331b3
mov eax, dword [0x1007f130]
mov ecx, dword [0x1007f134]
mov dword [ebp - 0x2a4], eax
mov dword [ebp - 0x2a0], ecx
mov edx, dword [ebp - 0x2a4]
or edx, dword [ebp - 0x2a0]
jne 0x10033133
mov dword [ebp - 0x158], 1
jmp 0x1003313d
mov dword [ebp - 0x158], 0
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x158]
jg 0x100331b3
movzx eax, word [0x1007f128]
cdq
mov ecx, eax
sub ecx, 0x1adc92d0
movzx eax, word [ebp - 0x20]
cdq
sub eax, ecx
mov word [ebp - 0x20], ax
movzx eax, word [0x1007f168]
movzx edx, word [ebp - 0x2c]
add eax, edx
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x4c]
cdq
mov edi, dword [0x1007f160]
mov ebx, dword [0x1007f164]
xor edi, eax
xor ebx, edx
sub ecx, edi
sbb esi, ebx
movsx edx, word [ebp - 0x28]
imul edx, dword [0x1007f158]
mov eax, dword [ebp - 0x58]
imul eax, dword [ebp - 0x68]
add edx, eax
xor eax, eax
push eax
push edx
push esi
push ecx
call fcn.1005a1b0
not eax
mov dword [0x1007f154], eax
mov ecx, dword [0x1007fc38]
mov dword [ebp - 0xb8], ecx
movsx edx, word [ebp - 0x28]
push edx
movzx eax, word [0x1007f1c8]
push eax
call fcn.100364f0
add esp, 8
cdq
mov dword [0x1007f190], eax
mov dword [0x1007f194], edx
mov ecx, dword [0x1007f198]
mov edx, dword [0x1007f19c]
mov dword [ebp - 0x2ac], ecx
mov dword [ebp - 0x2a8], edx
mov eax, dword [ebp - 0x2ac]
or eax, dword [ebp - 0x2a8]
jne 0x1003321a
xor ecx, ecx
mov dword [ebp - 0x264], 1
mov dword [ebp - 0x260], ecx
jmp 0x10033225
xorps xmm0, xmm0
movlpd qword [ebp - 0x264], xmm0
mov edx, dword [0x1007f198]
mov eax, dword [0x1007f19c]
mov dword [ebp - 0x2b4], edx
mov dword [ebp - 0x2b0], eax
mov ecx, dword [ebp - 0x264]
cmp ecx, dword [ebp - 0x2b4]
jne 0x10033258
mov edx, dword [ebp - 0x260]
cmp edx, dword [ebp - 0x2b0]
je 0x10033264
mov dword [ebp - 0x15c], 1
jmp 0x1003326e
mov dword [ebp - 0x15c], 0
movsx eax, word [ebp - 0x28]
imul eax, dword [ebp - 0x58]
cmp eax, dword [ebp - 0x15c]
jne 0x100332d7
mov ecx, dword [0x1007f170]
not ecx
movsx edx, byte [ebp - 0x13]
cmp ecx, edx
ja 0x1003329a
mov dword [ebp - 0x160], 1
jmp 0x100332a4
mov dword [ebp - 0x160], 0
mov eax, dword [0x1007f140]
cmp eax, dword [ebp - 0x160]
jne 0x100332bd
mov dword [ebp - 0x164], 1
jmp 0x100332c7
mov dword [ebp - 0x164], 0
mov ecx, dword [ebp - 0x164]
not ecx
test ecx, ecx
jne 0x1003339d
mov edx, dword [0x1007f188]
add edx, 1
mov eax, dword [0x1007f18c]
adc eax, 0
mov dword [0x1007f188], edx
mov dword [0x1007f18c], eax
movzx ecx, byte [ebp - 0x12]
movsx edx, word [ebp - 0x18]
sub ecx, edx
movzx eax, byte [ebp - 0x12]
add eax, ecx
mov byte [ebp - 0x12], al
movzx eax, word [ebp - 0x24]
cdq
mov ecx, dword [ebp - 0x78]
mov esi, dword [ebp - 0x74]
not ecx
not esi
sub eax, ecx
sbb edx, esi
mov dword [ebp - 0x2bc], eax
mov dword [ebp - 0x2b8], edx
mov edx, dword [ebp - 0x2bc]
or edx, dword [ebp - 0x2b8]
jne 0x1003333f
mov dword [ebp - 0x168], 1
jmp 0x10033349
mov dword [ebp - 0x168], 0
cmp dword [0x1007f180], 0
jne 0x1003335e
mov dword [ebp - 0x16c], 1
jmp 0x10033368
mov dword [ebp - 0x16c], 0
movzx eax, word [ebp - 0x20]
sub eax, dword [ebp - 0x168]
movzx ecx, byte [0x1007f04e]
mov edx, dword [ebp - 0x68]
not edx
imul ecx, edx
movzx edx, word [ebp - 0x2c]
xor edx, dword [ebp - 0x16c]
add ecx, edx
sub eax, ecx
cdq
mov dword [0x1007f1c0], eax
mov dword [0x1007f1c4], edx
jmp 0x100333b9
cmp dword [ebp - 0x4c], 0
je 0x100333b9
mov eax, dword [ebp - 0x58]
add eax, 0x8ab4
mov dword [ebp - 0x30], eax
mov cx, word [0x1007fc38]
mov word [ebp - 0x2c], cx
mov edx, dword [ebp - 0xb8]
add edx, 0x2eb
mov dword [ebp - 0xc0], edx
mov eax, dword [0x1007f170]
sub eax, dword [0x1007f158]
mov dword [0x1007f170], eax
movzx ecx, byte [ebp - 0x12]
shl ecx, 2
mov byte [0x1007f027], cl
mov edx, dword [ebp - 0xb8]
add edx, 0x233
mov dword [ebp - 0xc4], edx
push 0
push 0x71
push 0
push 0
push 0
push 0x45
call fcn.10035b90
add esp, 0x18
mov word [ebp - 0x20], ax
mov eax, 0xffffffa5
test eax, eax
je 0x1003344d
mov ecx, dword [0x1007f138]
mov edx, dword [0x1007f13c]
push edx
push ecx
mov eax, dword [ebp - 0x40]
push eax
mov ecx, dword [ebp - 0x44]
push ecx
call fcn.1005a1b0
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov dx, word [ebp - 0x3c]
sub dx, 1
mov word [ebp - 0x3c], dx
jmp 0x100334e2
movzx eax, word [0x1007f14c]
test eax, eax
je 0x10033490
movzx eax, byte [0x1007f026]
cdq
mov ecx, dword [ebp - 0x70]
sub ecx, eax
mov eax, dword [ebp - 0x6c]
sbb eax, edx
mov dword [ebp - 0x2c4], ecx
mov dword [ebp - 0x2c0], eax
mov ecx, dword [ebp - 0x2c4]
or ecx, dword [ebp - 0x2c0]
jne 0x10033490
mov dword [ebp - 0x170], 1
jmp 0x1003349a
mov dword [ebp - 0x170], 0
mov edx, dword [ebp - 0x170]
not edx
test edx, edx
je 0x100334e2
mov eax, dword [0x1007f180]
xor ecx, ecx
push 0xe89fc
push 0xbd9251d3
push ecx
push eax
call fcn.1005a1b0
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
imul edx, dword [ebp - 0x30], 0x63c0c323
mov dword [0x1007f158], edx
xor eax, eax
mov dword [0x1007f1d0], 0x35
mov dword [0x1007f1d4], eax
mov ecx, dword [ebp - 0xb8]
add ecx, 0x33c
mov dword [ebp - 0x3b4], ecx
mov dword [ebp - 0xbc], 0x16c
jmp 0x1003350f
mov edx, dword [ebp - 0xbc]
sub edx, 1
mov dword [ebp - 0xbc], edx
cmp dword [ebp - 0xbc], 0
jle 0x100335f4
mov eax, dword [0x1007f154]
xor eax, 0xde94
movsx ecx, word [0x1007f15c]
sub ecx, eax
mov word [0x1007f15c], cx
movzx eax, byte [ebp - 0x14]
not eax
cdq
mov ecx, dword [0x1007f170]
xor esi, esi
mov edi, dword [ebp - 0x54]
not edi
mov ebx, dword [ebp - 0x50]
not ebx
or ecx, edi
or esi, ebx
sub eax, ecx
sbb edx, esi
mov dword [ebp - 0x2cc], eax
mov dword [ebp - 0x2c8], edx
mov edx, dword [ebp - 0x2cc]
or edx, dword [ebp - 0x2c8]
jne 0x1003357d
mov dword [ebp - 0x174], 1
jmp 0x10033587
mov dword [ebp - 0x174], 0
movsx eax, byte [ebp - 0x13]
movsx ecx, word [0x1007f1a8]
imul ecx, dword [0x1007f1a4]
add ecx, dword [ebp - 0x174]
add ecx, eax
mov word [0x1007f1b8], cx
mov ecx, dword [0x1007f130]
mov esi, dword [0x1007f134]
xor ecx, dword [ebp - 0x54]
xor esi, dword [ebp - 0x50]
movzx eax, byte [ebp - 0x19]
movzx edx, word [0x1007f1b8]
imul eax, edx
cdq
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], esi
mov eax, dword [0x1007f120]
add eax, 1
mov ecx, dword [0x1007f124]
adc ecx, 0
mov dword [0x1007f120], eax
mov dword [0x1007f124], ecx
jmp 0x10033500
mov edx, dword [ebp - 0xc4]
imul edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x3b4]
sub eax, dword [ebp - 0xc0]
sub edx, eax
imul ecx, dword [ebp - 0xc4], 0x141
mov eax, dword [ebp - 0xc0]
add eax, dword [ebp - 0xc4]
imul ecx, eax
cmp edx, ecx
je 0x10033868
cmp dword [ebp - 0x68], 0
jne 0x10033782
movsx ecx, byte [ebp - 0x11]
cmp ecx, 0xfd6d
jge 0x10033782
mov edx, 1
mov word [ebp - 0x24], dx
movzx eax, word [ebp - 0x20]
xor eax, dword [0x1007f158]
mov dword [0x1007f158], eax
mov eax, dword [ebp - 0x7c]
cdq
push 0xd2480
push 0xabc091fc
push edx
push eax
call fcn.1005a1b0
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov eax, dword [0x1007f144]
cdq
mov ecx, eax
mov edx, dword [0x1007f138]
mov eax, dword [0x1007f13c]
mov dword [ebp - 0x500], eax
sub ecx, edx
mov eax, dword [0x1007f144]
cdq
sub eax, ecx
mov dword [0x1007f144], eax
movzx ecx, word [ebp - 0x24]
mov dword [ebp - 0x178], ecx
cmp dword [ebp - 0x178], 0
je 0x100336ca
cmp dword [ebp - 0x178], 1
je 0x1003374e
jmp 0x10033782
mov edx, dword [ebp - 0x58]
xor eax, eax
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x30], 0
jne 0x100336e7
mov dword [ebp - 0x17c], 1
jmp 0x100336f1
mov dword [ebp - 0x17c], 0
movsx eax, word [0x1007f1a8]
mov ecx, dword [ebp - 0x64]
sub ecx, dword [ebp - 0x17c]
not ecx
imul eax, ecx
cdq
mov esi, eax
mov edi, edx
mov ecx, dword [0x1007f170]
xor ebx, ebx
movzx eax, word [0x1007f128]
cdq
mov dword [ebp - 0x3b8], edi
mov edi, dword [0x1007f13c]
add eax, dword [0x1007f138]
adc edx, edi
not eax
not edx
push edx
push eax
push ebx
push ecx
call fcn.1005a1b0
xor esi, eax
mov edi, dword [ebp - 0x3b8]
xor edi, edx
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x6c], edi
jmp 0x10033782
mov edx, dword [0x1007fc38]
xor eax, eax
mov dword [0x1007f120], edx
mov dword [0x1007f124], eax
movzx ecx, word [0x1007f1c8]
mov dword [ebp - 0x4c], ecx
movsx eax, word [ebp - 0x3c]
cdq
mov ecx, eax
xor ecx, 0xf3282ac3
movsx eax, byte [ebp - 0x11]
cdq
add eax, ecx
mov byte [ebp - 0x11], al
mov edx, dword [ebp - 0xcc]
push edx
push 0
push 0
call fcn.100016d0
add esp, 8
call eax
mov eax, dword [ebp - 0x88]
push eax
push 0
push 0
call fcn.10001400
add esp, 8
call eax
push 0xffffffffffffffc2
push 0xffffffffffffff80
call fcn.10035170
add esp, 8
movsx ecx, al
mov dword [0x1007f170], ecx
cmp dword [0x1007f170], 0
jae 0x100337d6
mov dword [ebp - 0x180], 1
jmp 0x100337e0
mov dword [ebp - 0x180], 0
cmp dword [0x1007f170], 0x39
jae 0x100337f5
mov dword [ebp - 0x184], 1
jmp 0x100337ff
mov dword [ebp - 0x184], 0
mov edx, dword [ebp - 0x180]
cmp edx, dword [ebp - 0x184]
jg 0x10033861
mov eax, dword [0x1007f158]
push eax
call dword [sym.imp.USER32.dll_GetTopWindow]
mov byte [0x1007f04e], al
movzx ecx, byte [0x1007f04e]
test ecx, ecx
je 0x10033861
movsx eax, byte [ebp - 0x11]
cdq
mov ecx, eax
sub ecx, dword [ebp - 0x44]
movsx eax, byte [ebp - 0x11]
cdq
and eax, ecx
mov byte [ebp - 0x11], al
mov edx, dword [ebp - 0x30]
sub edx, 1
mov dword [ebp - 0x30], edx
movsx eax, byte [ebp - 0x11]
mov ecx, dword [0x1007f144]
imul ecx, eax
mov edx, dword [0x1007f144]
xor edx, ecx
mov dword [0x1007f144], edx
xor eax, eax
jmp 0x10034d71
movsx eax, word [ebp - 0x18]
test eax, eax
je 0x100338e7
mov ecx, dword [0x1007f1d0]
mov edx, dword [0x1007f1d4]
mov dword [ebp - 0x2d4], ecx
mov dword [ebp - 0x2d0], edx
mov eax, dword [ebp - 0x2d4]
or eax, dword [ebp - 0x2d0]
je 0x100338b4
mov ecx, dword [0x1007f144]
add ecx, 0xea40
mov dword [ebp - 0x58], ecx
movzx edx, word [ebp - 0x24]
sub edx, 0x5b78a2c9
mov dword [ebp - 0x64], edx
jmp 0x100338e5
cmp dword [ebp - 0x4c], 0
je 0x100338e5
mov eax, dword [0x1007f190]
mov ecx, dword [0x1007f194]
push 0
push 0x67e8ba62
push ecx
push eax
call fcn.1005a1b0
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov edx, dword [ebp - 0x60]
add edx, 0x22d6
mov dword [ebp - 0x58], edx
jmp 0x10033935
mov eax, 8
imul ecx, eax, 0x6ac7
mov dl, byte [ecx + 0x1024e1c0]
mov byte [0x1007f027], dl
mov eax, dword [0x1007f1bc]
add eax, 0x52449ad5
mov byte [ebp - 0x11], al
mov ecx, dword [0x1007f144]
not ecx
mov eax, 0xb6
sub eax, ecx
cdq
push edx
push eax
mov edx, dword [ebp - 0x5c]
push edx
mov eax, dword [ebp - 0x60]
push eax
call fcn.1005a1b0
mov dword [0x1007f130], eax
mov dword [0x1007f134], edx
mov ecx, dword [0x1007f1d0]
mov edx, dword [0x1007f1d4]
mov dword [ebp - 0x2dc], ecx
mov dword [ebp - 0x2d8], edx
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x2d8]
ja 0x10033983
jb 0x10033965
mov ecx, dword [ebp - 0x54]
cmp ecx, dword [ebp - 0x2dc]
jae 0x10033983
mov edx, dword [0x1007f1d0]
mov eax, dword [0x1007f1d4]
sub edx, 1
sbb eax, 0
mov dword [0x1007f1d0], edx
mov dword [0x1007f1d4], eax
jmp 0x100339a8
movzx eax, byte [ebp - 0x12]
add eax, 0x95
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movzx ecx, word [0x1007f1c8]
mov edx, dword [0x1007f1a4]
sub edx, ecx
mov dword [0x1007f1a4], edx
push 4
push 0x3000
push 0x100000
push 0
push 0
push 0
call fcn.10001340
add esp, 8
call eax
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x7c]
cmp dword [0x1007f180], eax
jb 0x10033a48
mov dword [ebp - 0xc8], 0x22b
jmp 0x100339f0
mov ecx, dword [ebp - 0xc8]
sub ecx, 1
mov dword [ebp - 0xc8], ecx
cmp dword [ebp - 0xc8], 0
jle 0x10033a46
jmp 0x10033a05
jmp 0x10033a19
jmp 0x10033a35
mov edx, dword [0x1007f144]
add edx, 1
mov dword [0x1007f144], edx
jmp 0x100339e1
jmp 0x10033a84
mov eax, dword [0x1007f170]
sub eax, dword [0x1007f180]
add eax, dword [0x1007f170]
mov dword [0x1007f170], eax
cmp dword [ebp - 0x30], 0
je 0x10033a70
movsx ecx, word [ebp - 0x18]
mov dword [ebp - 0x188], ecx
jmp 0x10033a79
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x188], edx
mov eax, dword [ebp - 0x188]
mov dword [str.C], eax
lea ecx, [ebp - 0x1a8]
push ecx
push 0x100000
mov edx, dword [ebp - 0x8c]
push edx
mov eax, dword [ebp - 0x18c]
push eax
push 0
push 0
call fcn.100014f0
add esp, 8
call eax
test eax, eax
je 0x10033abd
cmp dword [ebp - 0x1a8], 0
jne 0x10033b69
push 0
mov ecx, dword [0x1007f144]
push ecx
push 0
push 0xe
push 0
call fcn.10036ef0
add esp, 0x14
movzx edx, ax
mov dword [0x1007f180], edx
cmp dword [0x1007f180], 0
je 0x10033b1c
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
sub eax, 1
sbb ecx, 0
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], ecx
movzx edx, byte [ebp - 0x14]
imul edx, dword [str.C]
mov byte [ebp - 0x14], dl
mov eax, 4
imul ecx, eax, 0x13b0
mov edx, dword [ecx + 0x100e04e0]
mov dword [ebp - 0x4c], edx
jmp 0x10033b64
mov eax, 1
test eax, eax
je 0x10033b64
mov ecx, dword [ebp - 0x70]
xor ecx, 0x222aed1
mov word [0x1007f128], cx
movzx edx, word [ebp - 0x24]
imul eax, edx, 0x45e8
mov byte [0x1007f04e], al
mov eax, dword [ebp - 0x48]
cdq
mov ecx, dword [0x1007f1d0]
mov esi, dword [0x1007f1d4]
add ecx, eax
adc esi, edx
mov dword [0x1007f1d0], ecx
mov dword [0x1007f1d4], esi
jmp 0x1003420c
movzx edx, byte [ebp - 0x19]
cmp edx, dword [str.C]
jae 0x10033b81
mov dword [ebp - 0x190], 1
jmp 0x10033b8b
mov dword [ebp - 0x190], 0
movzx eax, byte [ebp - 0x19]
cmp eax, 0x29
jge 0x10033ba0
mov dword [ebp - 0x194], 1
jmp 0x10033baa
mov dword [ebp - 0x194], 0
mov ecx, dword [ebp - 0x190]
cmp ecx, dword [ebp - 0x194]
je 0x10033bed
jmp 0x10033bd4
jmp 0x10033beb
jmp 0x10033c15
movsx edx, word [0x1007f148]
imul eax, edx, 0xf56d
mov byte [ebp - 0x13], al
movsx ecx, word [0x1007f148]
movzx edx, word [0x1007f1a0]
imul ecx, edx
mov word [0x1007f148], cx
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x288], eax
mov dword [0x1007f144], 3
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
push 0
push 0xb4
push edx
push ecx
call fcn.1005a1b0
mov byte [ebp - 0x13], al
imul eax, dword [ebp - 0x64], 0xd0
mov dword [ebp - 0x68], eax
mov ecx, dword [0x1007f144]
mov dword [ebp - 0x198], ecx
cmp dword [ebp - 0x198], 3
ja case.default.0x10033c6b
mov edx, dword [ebp - 0x198]
jmp dword [edx*4 + 0x10034d94]
mov ax, word [0x1007f1a0]
mov word [ebp - 0x2c], ax
mov eax, dword [ebp - 0x30]
cdq
add eax, 0xafc81121
mov byte [ebp - 0x12], al
jmp case.default.0x10033c6b
mov ecx, dword [ebp - 0x44]
sub ecx, 3
mov edx, dword [ebp - 0x40]
sbb edx, 0
mov eax, dword [0x1007f190]
mov esi, dword [0x1007f194]
sub eax, ecx
sbb esi, edx
mov dword [0x1007f190], eax
mov dword [0x1007f194], esi
movzx eax, word [0x1007f1b8]
cdq
sub eax, dword [0x1007f188]
mov word [0x1007f1b8], ax
jmp case.default.0x10033c6b
movzx ecx, byte [0x1007f04e]
xor ecx, dword [0x1007f158]
mov edx, dword [0x1007f158]
sub edx, ecx
mov dword [0x1007f158], edx
movzx eax, byte [ebp - 0x12]
xor eax, 0xb74f89c7
mov dword [ebp - 0x4c], eax
jmp case.default.0x10033c6b
movsx eax, word [0x1007f1a8]
cdq
add eax, dword [ebp - 0x44]
adc edx, dword [ebp - 0x40]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
movzx ecx, byte [ebp - 0x14]
add ecx, 0xd9
mov dword [ebp - 0x68], ecx
mov edx, dword [ebp - 0x288]
movzx eax, word [edx]
cmp eax, 0x5a4d
je 0x10033d33
cmp dword [ebp - 0x90], 0
jne 0x10033d33
jmp 0x1003420c
call dword [sym.imp.KERNEL32.dll_GetLargePageMinimum]
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0
je 0x10033f26
movzx eax, word [ebp - 0x20]
cdq
push edx
push eax
push 0
push 0
push 0
push 0
call fcn.10035b90
add esp, 0x18
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
movsx eax, word [0x1007f15c]
cdq
mov ecx, dword [0x1007f198]
mov esi, dword [0x1007f19c]
mov dword [ebp - 0x2e4], eax
mov dword [ebp - 0x2e0], edx
mov dword [ebp - 0x2ec], ecx
mov dword [ebp - 0x2e8], esi
mov edx, dword [ebp - 0x2e0]
cmp edx, dword [ebp - 0x2e8]
jg 0x10033db9
jl 0x10033dad
mov eax, dword [ebp - 0x2e4]
cmp eax, dword [ebp - 0x2ec]
ja 0x10033db9
mov dword [ebp - 0x19c], 1
jmp 0x10033dc3
mov dword [ebp - 0x19c], 0
mov ecx, dword [ebp - 0x64]
sub ecx, dword [ebp - 0x19c]
jne 0x10033dda
mov dword [ebp - 0x1a4], 1
jmp 0x10033de4
mov dword [ebp - 0x1a4], 0
mov ecx, dword [0x1007f178]
not ecx
mov esi, dword [0x1007f17c]
not esi
movzx eax, word [0x1007f1c8]
not eax
cdq
mov dword [ebp - 0x2fc], ecx
mov dword [ebp - 0x2f8], esi
mov dword [ebp - 0x304], eax
mov dword [ebp - 0x300], edx
mov edx, dword [ebp - 0x2f8]
cmp edx, dword [ebp - 0x300]
jl 0x10033e40
jg 0x10033e34
mov eax, dword [ebp - 0x2fc]
cmp eax, dword [ebp - 0x304]
jb 0x10033e40
mov dword [ebp - 0x1a0], 1
jmp 0x10033e4a
mov dword [ebp - 0x1a0], 0
mov ecx, dword [ebp - 0x1a0]
not ecx
cmp dword [ebp - 0x1a4], ecx
jl 0x10033ed5
movzx edx, byte [ebp - 0x12]
movzx eax, byte [ebp - 0x19]
cmp edx, eax
jl 0x10033ebd
mov byte [ebp - 0x11], 0xd0
mov ecx, dword [0x1007f158]
xor edx, edx
sub ecx, dword [ebp - 0x44]
sbb edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x54]
add eax, 0x784de12
mov esi, dword [ebp - 0x50]
adc esi, 0x13777
push esi
push eax
push edx
push ecx
call fcn.1005a1b0
mov byte [ebp - 0x19], al
mov ecx, dword [0x1007f198]
mov edx, dword [0x1007f19c]
push 0
push 0x1489
push edx
push ecx
call fcn.1005a1b0
or eax, dword [ebp - 0x44]
or edx, dword [ebp - 0x40]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
jmp 0x10033ed3
xor eax, eax
mov dword [ebp - 0x78], 0xa615
mov dword [ebp - 0x74], eax
movzx ecx, byte [ebp - 0x19]
shl ecx, 8
mov dword [ebp - 0x48], ecx
jmp 0x10033f24
movsx edx, word [ebp - 0x18]
test edx, edx
je 0x10033f24
mov dword [0x1007f1a4], 0x2192
cmp dword [str.C], 0
je 0x10033f04
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x26c], eax
mov dword [ebp - 0x268], ecx
jmp 0x10033f18
movzx eax, word [0x1007f14c]
cdq
mov dword [ebp - 0x26c], eax
mov dword [ebp - 0x268], edx
mov edx, dword [ebp - 0x26c]
mov dword [0x1007f158], edx
jmp 0x10033f66
movsx eax, byte [ebp - 0x11]
cdq
mov ecx, dword [0x1007f190]
mov esi, dword [0x1007f194]
add ecx, eax
adc esi, edx
mov edx, dword [0x1007f190]
mov eax, dword [0x1007f194]
or edx, ecx
or eax, esi
mov dword [0x1007f190], edx
mov dword [0x1007f194], eax
imul ecx, dword [ebp - 0x48], 0x86
movzx edx, word [ebp - 0x24]
add edx, ecx
mov word [ebp - 0x24], dx
push 0
lea eax, [ebp - 0x504]
push eax
mov ecx, dword [ebp - 0x1a8]
push ecx
mov edx, dword [ebp - 0x8c]
push edx
mov eax, dword [ebp - 0xcc]
push eax
push 0
push 0
call fcn.100014c0
add esp, 8
call eax
movzx ecx, word [0x1007f14c]
cmp ecx, dword [ebp - 0x64]
jge 0x100341bb
mov eax, dword [0x1007f140]
cdq
mov dword [ebp - 0x30c], eax
mov dword [ebp - 0x308], edx
mov edx, dword [ebp - 0x308]
cmp edx, dword [ebp - 0x6c]
jg 0x10033fe0
jl 0x10033fcc
mov eax, dword [ebp - 0x30c]
cmp eax, dword [ebp - 0x70]
ja 0x10033fe0
xor ecx, ecx
mov dword [ebp - 0x274], 1
mov dword [ebp - 0x270], ecx
jmp 0x10033feb
xorps xmm0, xmm0
movlpd qword [ebp - 0x274], xmm0
mov edx, dword [0x1007f130]
mov eax, dword [0x1007f134]
not edx
not eax
mov dword [ebp - 0x314], edx
mov dword [ebp - 0x310], eax
mov ecx, dword [ebp - 0x270]
cmp ecx, dword [ebp - 0x310]
jl 0x10034030
jg 0x10034024
mov edx, dword [ebp - 0x274]
cmp edx, dword [ebp - 0x314]
jb 0x10034030
mov dword [ebp - 0x1b0], 1
jmp 0x1003403a
mov dword [ebp - 0x1b0], 0
movzx eax, word [ebp - 0x20]
not eax
cmp eax, dword [0x1007f144]
jne 0x10034054
mov dword [ebp - 0x1ac], 1
jmp 0x1003405e
mov dword [ebp - 0x1ac], 0
cmp dword [ebp - 0x1ac], 0xca7d81cf
jne 0x10034076
mov dword [ebp - 0x1b4], 1
jmp 0x10034080
mov dword [ebp - 0x1b4], 0
mov ecx, dword [ebp - 0x1b0]
or ecx, dword [ebp - 0x1b4]
jne 0x10034119
movzx eax, word [ebp - 0x24]
cdq
sub eax, dword [ebp - 0x54]
sbb edx, dword [ebp - 0x50]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x74]
mov dword [0x1007f188], edx
mov dword [0x1007f18c], eax
mov ecx, dword [0x1007f138]
mov edx, dword [0x1007f13c]
add ecx, 0x80c72ff7
adc edx, 0
mov dword [ebp - 0x31c], ecx
mov dword [ebp - 0x318], edx
mov eax, dword [ebp - 0x31c]
or eax, dword [ebp - 0x318]
jne 0x100340f7
xor ecx, ecx
mov dword [ebp - 0x27c], 1
mov dword [ebp - 0x278], ecx
jmp 0x10034102
xorps xmm0, xmm0
movlpd qword [ebp - 0x27c], xmm0
mov edx, dword [ebp - 0x27c]
mov eax, dword [ebp - 0x278]
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x6c], eax
jmp 0x100341b9
mov ecx, dword [ebp - 0x44]
or ecx, dword [ebp - 0x40]
je 0x1003415c
movzx edx, word [0x1007f128]
movsx eax, word [0x1007f148]
and edx, eax
movzx ecx, word [0x1007f128]
or ecx, edx
mov word [0x1007f128], cx
mov dl, byte [ebp - 0x19]
sub dl, 1
mov byte [ebp - 0x19], dl
movzx eax, word [ebp - 0x24]
xor eax, 0xd2
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
jmp 0x100341b9
cmp dword [ebp - 0x30], 0
je 0x100341b9
mov eax, dword [ebp - 0x4c]
sub eax, 0x99c1
cdq
mov dword [0x1007f178], eax
mov dword [0x1007f17c], edx
movzx eax, byte [0x1007f026]
cdq
mov ecx, dword [0x1007f1b0]
sub ecx, eax
mov eax, dword [0x1007f1b4]
sbb eax, edx
add ecx, dword [0x1007f1b0]
adc eax, dword [0x1007f1b4]
mov dword [0x1007f1b0], ecx
mov dword [0x1007f1b4], eax
movzx ecx, word [0x1007f14c]
mov edx, dword [ebp - 0x30]
add edx, ecx
mov eax, dword [ebp - 0x30]
imul eax, edx
mov dword [ebp - 0x30], eax
jmp 0x100341f0
movsx eax, word [ebp - 0x18]
not eax
cdq
mov dword [ebp - 0x324], eax
mov dword [ebp - 0x320], edx
mov ecx, dword [ebp - 0x320]
cmp ecx, dword [ebp - 0x50]
jb 0x100341f0
ja 0x100341e6
mov edx, dword [ebp - 0x324]
cmp edx, dword [ebp - 0x54]
jbe 0x100341f0
mov ax, word [0x1007fc38]
mov word [ebp - 0x2c], ax
mov ecx, dword [ebp - 0x90]
add ecx, 1
mov dword [ebp - 0x90], ecx
mov edx, 1
test edx, edx
jne 0x10033935
mov eax, dword [ebp - 0xcc]
push eax
push 0
push 0
call fcn.100016d0
add esp, 8
call eax
mov ecx, dword [ebp - 0x88]
push ecx
push 0
push 0
call fcn.10001400
add esp, 8
call eax
push 0x8000
push 0
mov edx, dword [ebp - 0x8c]
push edx
push 0
push 0
call fcn.10001370
add esp, 8
call eax
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
movzx eax, ax
cdq
mov dword [0x1007f178], eax
mov dword [0x1007f17c], edx
mov eax, dword [ebp - 0x1b8]
add eax, 0x317
cmp dword [ebp - 0x1b8], eax
je 0x100349f9
jmp 0x1003429e
jmp 0x100342aa
jmp 0x100342c7
mov ecx, dword [ebp - 0x60]
or ecx, dword [ebp - 0x5c]
jne 0x100342e3
xor edx, edx
mov dword [ebp - 0x32c], 1
mov dword [ebp - 0x328], edx
jmp 0x100342ee
xorps xmm0, xmm0
movlpd qword [ebp - 0x32c], xmm0
mov eax, dword [0x1007f190]
mov ecx, dword [0x1007f194]
mov dword [ebp - 0x508], ecx
sub eax, dword [ebp - 0x32c]
mov dword [str.C], eax
mov dword [ebp - 0x68], 2
cmp dword [ebp - 0x90], 0
jne 0x100349f9
movzx eax, byte [0x1007f027]
cdq
mov dword [ebp - 0x334], eax
mov dword [ebp - 0x330], edx
mov edx, dword [0x1007f188]
cmp edx, dword [ebp - 0x334]
jne 0x1003434d
mov eax, dword [0x1007f18c]
cmp eax, dword [ebp - 0x330]
je 0x10034359
mov dword [ebp - 0x1bc], 1
jmp 0x10034363
mov dword [ebp - 0x1bc], 0
cmp dword [0x1007f188], 7
jne 0x10034375
cmp dword [0x1007f18c], 0
je 0x10034381
mov dword [ebp - 0x1c0], 1
jmp 0x1003438b
mov dword [ebp - 0x1c0], 0
mov ecx, dword [ebp - 0x1bc]
cmp ecx, dword [ebp - 0x1c0]
jne 0x100343a4
movzx edx, word [ebp - 0x24]
push edx
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov dword [ebp - 0xd0], 0x25c
jmp 0x100343bf
mov eax, dword [ebp - 0xd0]
sub eax, 1
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
jle 0x1003461a
movsx ecx, word [ebp - 0x18]
cmp ecx, dword [ebp - 0x4c]
jg 0x100343e1
mov dword [ebp - 0x1c4], 1
jmp 0x100343eb
mov dword [ebp - 0x1c4], 0
movsx edx, word [ebp - 0x18]
cmp edx, 0xd
jg 0x10034400
mov dword [ebp - 0x1c8], 1
jmp 0x1003440a
mov dword [ebp - 0x1c8], 0
mov eax, dword [ebp - 0x1c4]
cmp eax, dword [ebp - 0x1c8]
jle 0x100345f9
movsx ecx, byte [ebp - 0x11]
cmp ecx, dword [0x1007f1a4]
jge 0x10034434
mov dword [ebp - 0x1cc], 1
jmp 0x1003443e
mov dword [ebp - 0x1cc], 0
movsx edx, byte [ebp - 0x11]
cmp edx, 0x41
jge 0x10034453
mov dword [ebp - 0x1d0], 1
jmp 0x1003445d
mov dword [ebp - 0x1d0], 0
mov eax, dword [ebp - 0x1cc]
cmp eax, dword [ebp - 0x1d0]
jne 0x1003449a
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
add ecx, 0xc2
adc edx, 0
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x58]
mov ecx, 2
imul edx, ecx, 0xba17
mov word [edx + 0x103a82f8], ax
jmp 0x100345f9
mov eax, dword [0x1007f190]
mov ecx, dword [0x1007f194]
mov dword [ebp - 0x33c], eax
mov dword [ebp - 0x338], ecx
mov edx, dword [ebp - 0x33c]
or edx, dword [ebp - 0x338]
jne 0x100344cb
mov dword [ebp - 0x1d4], 1
jmp 0x100344d5
mov dword [ebp - 0x1d4], 0
movsx eax, word [ebp - 0x3c]
test eax, eax
jne 0x100344e9
mov dword [ebp - 0x1d8], 1
jmp 0x100344f3
mov dword [ebp - 0x1d8], 0
mov ecx, dword [ebp - 0x1d4]
cmp ecx, dword [ebp - 0x1d8]
jg 0x10034548
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
add edx, 0x377bdcb8
adc eax, 0x42e8f
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x6c], eax
xor ecx, ecx
mov dword [ebp - 0x38], 0x65
mov dword [ebp - 0x34], ecx
movzx edx, byte [0x1007f04e]
movzx eax, word [0x1007f128]
add edx, eax
movzx ecx, byte [0x1007f04e]
add ecx, edx
mov byte [0x1007f04e], cl
jmp 0x100345f9
movzx edx, byte [ebp - 0x14]
cmp edx, dword [ebp - 0x30]
jle 0x1003455d
mov dword [ebp - 0x1dc], 1
jmp 0x10034567
mov dword [ebp - 0x1dc], 0
cmp dword [0x1007f170], 0xfc5dca90
je 0x1003457f
mov dword [ebp - 0x1e0], 1
jmp 0x10034589
mov dword [ebp - 0x1e0], 0
mov eax, dword [ebp - 0x1dc]
cmp eax, dword [ebp - 0x1e0]
je 0x100345ae
mov ecx, 0xd8099
mov dword [0x1007f130], 0x459bfaa3
mov dword [0x1007f134], ecx
jmp 0x100345f9
xor edx, edx
je 0x100345f9
movsx eax, word [ebp - 0x18]
cdq
push 0x2847c
push 0xb7d859d6
push edx
push eax
call fcn.1005a1b0
mov word [0x1007f15c], ax
push 0
push 0x38
mov eax, dword [ebp - 0x50]
push eax
mov ecx, dword [ebp - 0x54]
push ecx
call fcn.1005a1b0
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
xor ecx, eax
xor esi, edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], esi
mov dword [str.C], 0x48
mov edx, dword [0x1007f1b0]
add edx, 1
mov eax, dword [0x1007f1b4]
adc eax, 0
mov dword [0x1007f1b0], edx
mov dword [0x1007f1b4], eax
jmp 0x100343b0
mov ecx, dword [0x1007fc38]
mov dword [ebp - 0xdc], ecx
mov ecx, dword [0x1007f190]
mov esi, dword [0x1007f194]
mov eax, dword [ebp - 0x68]
cdq
mov dword [ebp - 0x344], ecx
mov dword [ebp - 0x340], esi
mov dword [ebp - 0x34c], eax
mov dword [ebp - 0x348], edx
mov edx, dword [ebp - 0x340]
cmp edx, dword [ebp - 0x348]
jg 0x100346d1
jl 0x1003466c
mov eax, dword [ebp - 0x344]
cmp eax, dword [ebp - 0x34c]
ja 0x100346d1
mov dword [ebp - 0xd4], 0xd
mov ecx, dword [0x1007f190]
mov edx, dword [0x1007f194]
mov dword [ebp - 0x50c], edx
add ecx, 0x82f15525
mov word [0x1007f1b8], cx
mov eax, dword [0x1007f188]
mov ecx, 4
shl ecx, 2
mov dword [ecx + 0x1024e158], eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStrings]
mov byte [ebp - 0x11], al
mov edx, dword [ebp - 0xd4]
add edx, 1
mov dword [ebp - 0xd4], edx
cmp dword [ebp - 0xd4], 0xf31
jl 0x100346a8
jmp 0x1003477b
movsx eax, word [ebp - 0x18]
test eax, eax
jne 0x100346e5
mov dword [ebp - 0x1e4], 1
jmp 0x100346ef
mov dword [ebp - 0x1e4], 0
mov ecx, dword [0x1007f160]
mov edx, dword [0x1007f164]
mov dword [ebp - 0x3e0], ecx
mov dword [ebp - 0x3dc], edx
mov eax, dword [ebp - 0x3e0]
or eax, dword [ebp - 0x3dc]
jne 0x10034721
mov dword [ebp - 0x1e8], 1
jmp 0x1003472b
mov dword [ebp - 0x1e8], 0
mov ecx, dword [ebp - 0x1e4]
cmp ecx, dword [ebp - 0x1e8]
jg 0x1003477b
mov eax, dword [ebp - 0x48]
cdq
mov ecx, dword [0x1007f1d0]
mov esi, dword [0x1007f1d4]
add ecx, eax
adc esi, edx
mov edx, dword [0x1007f1d0]
mov eax, dword [0x1007f1d4]
sub edx, ecx
sbb eax, esi
mov dword [0x1007f1d0], edx
mov dword [0x1007f1d4], eax
movzx eax, word [0x1007f128]
cdq
add eax, dword [ebp - 0x44]
adc edx, dword [ebp - 0x40]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov ecx, dword [ebp - 0xdc]
add ecx, 0x2bb
mov dword [ebp - 0x510], ecx
mov dword [ebp - 0xd8], 0
jmp 0x100347a8
mov edx, dword [ebp - 0xd8]
add edx, 2
mov dword [ebp - 0xd8], edx
cmp dword [ebp - 0xd8], 0x295
jge 0x1003485b
movsx eax, word [ebp - 0x28]
test eax, eax
jne 0x100347cc
mov dword [ebp - 0x1ec], 1
jmp 0x100347d6
mov dword [ebp - 0x1ec], 0
mov ecx, dword [0x1007f188]
or ecx, dword [0x1007f18c]
jne 0x100347f8
xor edx, edx
mov dword [ebp - 0x354], 1
mov dword [ebp - 0x350], edx
jmp 0x10034803
xorps xmm0, xmm0
movlpd qword [ebp - 0x354], xmm0
mov eax, dword [0x1007f180]
imul eax, dword [ebp - 0x1ec]
not eax
mov ecx, dword [0x1007f1d0]
mov edx, dword [0x1007f1d4]
mov dword [ebp - 0x514], edx
add ecx, dword [ebp - 0x354]
add eax, ecx
mov dword [ebp - 0x64], eax
mov eax, dword [0x1007fc38]
mov dword [0x1007f170], eax
mov ecx, dword [0x1007f138]
mov edx, dword [0x1007f13c]
add ecx, 1
adc edx, 0
mov dword [0x1007f138], ecx
mov dword [0x1007f13c], edx
jmp 0x10034799
mov eax, dword [ebp - 0xdc]
add eax, 0x28b
mov dword [ebp - 0x28c], eax
mov ecx, dword [0x1007f198]
mov edx, dword [0x1007f19c]
mov dword [ebp - 0x518], edx
sub ecx, 0x3cb36891
mov dword [ebp - 0x48], ecx
movsx eax, word [0x1007f148]
shl eax, 3
mov word [0x1007f1b8], ax
movzx ecx, word [ebp - 0x20]
movzx edx, byte [0x1007f04e]
add ecx, edx
movzx eax, word [ebp - 0x20]
add eax, ecx
mov word [ebp - 0x20], ax
mov ecx, dword [ebp - 0xdc]
add ecx, 0x245
mov dword [ebp - 0x1f0], ecx
movzx edx, word [0x1007f168]
push edx
push 0xd8
movzx eax, word [0x1007f148]
push eax
push 0
movzx ecx, word [0x1007f1b0]
push ecx
push 0
push 0x5f
call fcn.10035820
add esp, 0x1c
cwde
cdq
mov dword [0x1007f190], eax
mov dword [0x1007f194], edx
mov edx, dword [0x1007f190]
mov eax, dword [0x1007f194]
mov dword [ebp - 0x35c], edx
mov dword [ebp - 0x358], eax
mov ecx, dword [ebp - 0x35c]
or ecx, dword [ebp - 0x358]
je 0x1003494b
movsx edx, word [ebp - 0x18]
movzx eax, word [0x1007f168]
add edx, eax
mov word [ebp - 0x18], dx
movzx ecx, word [0x1007f1c8]
imul ecx, dword [ebp - 0x48]
movzx edx, word [0x1007f1c8]
add edx, ecx
mov word [0x1007f1c8], dx
jmp 0x10034991
movzx ax, byte [ebp - 0x19]
mov ecx, 2
imul edx, ecx, 0x9cd
mov word [edx + 0x10322c30], ax
mov eax, dword [0x1007f1b0]
add eax, 0xa1b2da0e
mov ecx, dword [0x1007f1b4]
adc ecx, 0
mov edx, dword [0x1007f130]
mov esi, dword [0x1007f134]
add edx, eax
adc esi, ecx
mov dword [0x1007f130], edx
mov dword [0x1007f134], esi
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [ebp - 0x28c]
lea edx, [eax + ecx - 0x1f5]
cmp edx, dword [ebp - 0x1f0]
je 0x100349f9
mov eax, dword [0x1007f138]
mov ecx, dword [0x1007f13c]
mov dword [ebp - 0x51c], ecx
push eax
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov byte [0x1007f04e], al
mov edx, dword [ebp - 0x4c]
add edx, 0x89
mov dword [0x1007f154], edx
movzx eax, word [0x1007f16c]
cdq
and eax, dword [0x1007f1c0]
and edx, dword [0x1007f1c4]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
xor eax, eax
jmp 0x10034d71
movzx eax, byte [0x1007f027]
cmp eax, dword [0x1007f154]
jae 0x10034d6c
movsx ecx, word [0x1007f148]
test ecx, ecx
je 0x10034d51
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x364], edx
mov dword [ebp - 0x360], eax
mov ecx, dword [ebp - 0x364]
or ecx, dword [ebp - 0x360]
jne 0x10034a4f
xor edx, edx
mov dword [ebp - 0x284], 1
mov dword [ebp - 0x280], edx
jmp 0x10034a5a
xorps xmm0, xmm0
movlpd qword [ebp - 0x284], xmm0
mov eax, dword [0x1007f160]
mov ecx, dword [0x1007f164]
mov dword [ebp - 0x36c], eax
mov dword [ebp - 0x368], ecx
mov edx, dword [ebp - 0x280]
cmp edx, dword [ebp - 0x368]
jl 0x10034a9b
jg 0x10034a8f
mov eax, dword [ebp - 0x284]
cmp eax, dword [ebp - 0x36c]
jb 0x10034a9b
mov dword [ebp - 0x1f4], 1
jmp 0x10034aa5
mov dword [ebp - 0x1f4], 0
mov ecx, dword [0x1007f1d0]
mov esi, dword [0x1007f1d4]
mov eax, dword [ebp - 0x64]
cdq
mov dword [ebp - 0x374], ecx
mov dword [ebp - 0x370], esi
mov dword [ebp - 0x37c], eax
mov dword [ebp - 0x378], edx
mov edx, dword [ebp - 0x374]
cmp edx, dword [ebp - 0x37c]
jne 0x10034af5
mov eax, dword [ebp - 0x370]
cmp eax, dword [ebp - 0x378]
jne 0x10034af5
mov dword [ebp - 0x1f8], 1
jmp 0x10034aff
mov dword [ebp - 0x1f8], 0
mov ecx, dword [ebp - 0x1f4]
cmp ecx, dword [ebp - 0x1f8]
je 0x10034b19
mov dword [ebp - 0x200], 1
jmp 0x10034b23
mov dword [ebp - 0x200], 0
movzx edx, byte [ebp - 0x19]
cmp dword [ebp - 0x68], edx
jge 0x10034b38
mov dword [ebp - 0x1fc], 1
jmp 0x10034b42
mov dword [ebp - 0x1fc], 0
movsx eax, word [ebp - 0x28]
cmp eax, dword [ebp - 0x1fc]
je 0x10034b5a
mov dword [ebp - 0x204], 1
jmp 0x10034b64
mov dword [ebp - 0x204], 0
mov ecx, dword [ebp - 0x200]
cmp ecx, dword [ebp - 0x204]
jge 0x10034bc6
movsx edx, word [ebp - 0x28]
test edx, edx
je 0x10034b93
mov eax, dword [0x1007f160]
mov ecx, dword [0x1007f164]
mov dword [ebp - 0x22c], eax
mov dword [ebp - 0x228], ecx
jmp 0x10034ba5
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x22c], edx
mov dword [ebp - 0x228], eax
mov ecx, dword [ebp - 0x22c]
mov edx, dword [ebp - 0x228]
mov dword [0x1007f190], ecx
mov dword [0x1007f194], edx
mov byte [ebp - 0x13], 0x8b
jmp 0x10034d4f
mov eax, dword [ebp - 0x30]
cdq
mov ecx, dword [ebp - 0x78]
mov esi, dword [ebp - 0x74]
mov dword [ebp - 0x384], eax
mov dword [ebp - 0x380], edx
mov dword [ebp - 0x38c], ecx
mov dword [ebp - 0x388], esi
mov edx, dword [ebp - 0x384]
cmp edx, dword [ebp - 0x38c]
jne 0x10034c04
mov eax, dword [ebp - 0x380]
cmp eax, dword [ebp - 0x388]
je 0x10034c10
mov dword [ebp - 0x208], 1
jmp 0x10034c1a
mov dword [ebp - 0x208], 0
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x4c]
jg 0x10034c2e
mov dword [ebp - 0x20c], 1
jmp 0x10034c38
mov dword [ebp - 0x20c], 0
mov edx, dword [ebp - 0x208]
cmp edx, dword [ebp - 0x20c]
jg 0x10034ca8
mov eax, 8
imul ecx, eax, 0xb473
mov edx, dword [ecx + 0x1024e1c0]
mov dword [0x1007f144], edx
mov ax, word [0x1007fc38]
mov word [0x1007f128], ax
mov ecx, dword [0x1007f1c0]
or ecx, dword [0x1007f1c4]
jne 0x10034c83
mov dword [ebp - 0x210], 1
jmp 0x10034c8d
mov dword [ebp - 0x210], 0
movzx edx, byte [0x1007f027]
add edx, dword [ebp - 0x210]
sub edx, dword [0x1007f140]
mov dword [ebp - 0x7c], edx
jmp 0x10034d4f
mov eax, dword [0x1007f198]
mov ecx, dword [0x1007f19c]
mov dword [ebp - 0x394], eax
mov dword [ebp - 0x390], ecx
mov edx, dword [ebp - 0x390]
cmp edx, dword [0x1007f1b4]
jl 0x10034cea
jg 0x10034cdd
mov eax, dword [ebp - 0x394]
cmp eax, dword [0x1007f1b0]
jbe 0x10034cea
mov cx, word [0x1007fc38]
mov word [ebp - 0x28], cx
jmp 0x10034d4f
movzx edx, word [ebp - 0x2c]
test edx, edx
je 0x10034d4f
mov eax, dword [0x1007f180]
xor ecx, ecx
push 0xc3223
push 0x2952fcf5
push ecx
push eax
call fcn.1005a1b0
mov word [0x1007f1a8], ax
movsx edx, word [0x1007f15c]
imul edx, dword [0x1007f144]
movsx eax, word [0x1007f15c]
add eax, edx
mov word [0x1007f15c], ax
movzx eax, word [0x1007f1a0]
cdq
mov ecx, dword [0x1007f120]
sub ecx, eax
mov eax, dword [0x1007f124]
sbb eax, edx
mov dword [0x1007f120], ecx
mov dword [0x1007f124], eax
jmp 0x10034d6c
mov dword [ebp - 0x4c], 4
mov eax, dword [0x1007f140]
shl eax, 5
cdq
mov dword [0x1007f130], eax
mov dword [0x1007f134], edx
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret