Function at 0x100235b0
Capabilities:
Accept command line arguments
Create directory
Get common file path
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10066c10
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x1a14
call fcn.1005a9b0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov eax, 0xb0c7
mov word [ebp - 0x34c], ax
mov ecx, dword [0x100811b0]
mov edx, dword [0x100811b4]
mov dword [ebp - 0x74c], edx
mov byte [ebp - 0x25], cl
xor eax, eax
mov dword [ebp - 0x44], 0xdf
mov dword [ebp - 0x40], eax
mov ecx, dword [0x10081190]
mov dword [ebp - 0x3c], ecx
mov edx, 0xb18f
mov word [ebp - 0x24], dx
movsx eax, word [0x10081180]
mov dword [ebp - 0x60], eax
mov ecx, dword [0x10081130]
mov edx, dword [0x10081134]
mov dword [ebp - 0x6fc], edx
mov dword [ebp - 0x70], ecx
mov eax, 0xf0
mov word [ebp - 0x20], ax
mov dword [ebp - 0x38], 0xd8409223
mov ecx, dword [0x100811a4]
xor edx, edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], edx
xor eax, eax
mov dword [ebp - 0x5c], 0x2e4e1313
mov dword [ebp - 0x58], eax
mov cl, byte [0x10081140]
mov byte [ebp - 0x11], cl
mov edx, dword [0x10081168]
mov eax, dword [0x1008116c]
mov dword [ebp - 0x6f4], eax
mov byte [ebp - 0x12], dl
mov ecx, 0xf559
mov word [ebp - 0x2c], cx
mov dl, byte [0x10081170]
mov byte [ebp - 0x14], dl
mov al, byte [0x10081063]
mov byte [ebp - 0x16], al
movsx eax, word [0x100811b8]
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x64], 0x479c7c2b
mov dword [ebp - 0x54], 0x9e
mov ecx, dword [0x100811e8]
mov edx, dword [0x100811ec]
mov dword [ebp - 0x6f0], edx
mov byte [ebp - 0x13], cl
mov eax, dword [0x10081100]
mov ecx, dword [0x10081104]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], ecx
mov edx, 0xffffc7c3
mov word [ebp - 0x1c], dx
mov eax, dword [0x100811e8]
mov ecx, dword [0x100811ec]
mov dword [ebp - 0x6ec], ecx
mov word [ebp - 0x50], ax
mov byte [ebp - 0x15], 0xf
mov dl, byte [0x100811a4]
mov byte [ebp - 0x7d], dl
xor eax, eax
mov dword [ebp - 0x718], 0xb24c160a
mov dword [ebp - 0x714], eax
mov ecx, 0xca5c9
mov dword [ebp - 0x720], 0x2d73a664
mov dword [ebp - 0x71c], ecx
mov eax, dword [0x100811ac]
cdq
mov dword [ebp - 0x728], eax
mov dword [ebp - 0x724], edx
mov dword [ebp - 0x6e8], 0x6587
mov dl, byte [0x100811a4]
mov byte [ebp - 0xc9], dl
mov eax, dword [0x10081198]
mov ecx, dword [0x1008119c]
mov dword [ebp - 0x730], eax
mov dword [ebp - 0x72c], ecx
movsx eax, word [0x10081184]
cdq
mov dword [ebp - 0x738], eax
mov dword [ebp - 0x734], edx
movzx dx, byte [0x10081063]
mov word [ebp - 0x350], dx
movzx eax, byte [0x10081027]
cdq
mov dword [ebp - 0x740], eax
mov dword [ebp - 0x73c], edx
movsx eax, word [0x1008115c]
mov dword [ebp - 0x6f8], eax
mov cx, word [0x100811a0]
mov word [ebp - 0x354], cx
mov byte [ebp - 0x9d], 0xbb
mov dword [ebp - 0x700], 0xac19
mov edx, 0xd1
mov word [ebp - 0x358], dx
mov eax, dword [0x10081168]
mov ecx, dword [0x1008116c]
mov dword [ebp - 0x508], eax
mov dword [ebp - 0x504], ecx
mov edx, dword [ebp - 0x508]
or edx, dword [ebp - 0x504]
jne 0x1002380b
mov dword [ebp - 0xf8], 1
jmp 0x10023815
mov dword [ebp - 0xf8], 0
movsx eax, word [0x10081140]
xor eax, dword [0x100811a4]
jne 0x10023830
mov dword [ebp - 0xfc], 1
jmp 0x1002383a
mov dword [ebp - 0xfc], 0
movzx ecx, byte [ebp - 0x16]
movzx edx, byte [0x1008104f]
sub ecx, edx
jne 0x1002385d
xor eax, eax
mov dword [ebp - 0x510], 1
mov dword [ebp - 0x50c], eax
jmp 0x10023868
xorps xmm0, xmm0
movlpd qword [ebp - 0x510], xmm0
mov eax, dword [ebp - 0xf8]
add eax, dword [ebp - 0xfc]
cdq
mov ebx, eax
mov ecx, dword [ebp - 0x6c]
not ecx
mov esi, dword [ebp - 0x68]
not esi
movsx eax, byte [ebp - 0x13]
cdq
push edx
push eax
push esi
push ecx
call fcn.1005a880
xor eax, dword [ebp - 0x510]
xor ebx, eax
mov byte [ebp - 0x16], bl
mov ecx, dword [ebp - 0x6c]
add ecx, 0xed8319f2
movsx eax, byte [ebp - 0x14]
cdq
sub eax, ecx
mov byte [ebp - 0x14], al
mov edx, dword [0x10081cb8]
mov dword [ebp - 0x88], edx
imul eax, dword [ebp - 0x3c], 0xe3637b21
xor ecx, ecx
mov edx, dword [0x10081178]
mov esi, dword [0x1008117c]
add edx, eax
adc esi, ecx
mov dword [0x10081178], edx
mov dword [0x1008117c], esi
xor eax, eax
mov dword [ebp - 0x5c], 0xb87ed653
mov dword [ebp - 0x58], eax
mov ecx, dword [0x10081188]
mov edx, dword [0x1008118c]
push 0x5d75f
push 0xec2de4e7
push edx
push ecx
call fcn.1005a880
mov word [0x100811dc], ax
mov eax, dword [ebp - 0x88]
add eax, 0x6b8
mov dword [ebp - 0x704], eax
movzx eax, word [ebp - 0x2c]
cdq
mov ecx, dword [0x100811d0]
mov esi, dword [0x100811d4]
mov dword [ebp - 0x518], eax
mov dword [ebp - 0x514], edx
mov dword [ebp - 0x520], ecx
mov dword [ebp - 0x51c], esi
mov edx, dword [ebp - 0x514]
cmp edx, dword [ebp - 0x51c]
jg 0x10023971
jl 0x10023965
mov eax, dword [ebp - 0x518]
cmp eax, dword [ebp - 0x520]
jae 0x10023971
mov dword [ebp - 0x100], 1
jmp 0x1002397b
mov dword [ebp - 0x100], 0
movzx ecx, word [ebp - 0x2c]
cmp ecx, 0x63
jge 0x10023990
mov dword [ebp - 0x104], 1
jmp 0x1002399a
mov dword [ebp - 0x104], 0
mov edx, dword [ebp - 0x100]
cmp edx, dword [ebp - 0x104]
je 0x100239d0
movsx eax, byte [ebp - 0x11]
imul ecx, eax, 0xc90820c4
mov word [0x10081110], cx
mov edx, dword [0x100810f8]
sub edx, 0x5d3f
mov dword [0x10081114], edx
jmp 0x10023c3c
cmp dword [0x1008113c], 0
je 0x10023a27
movsx eax, word [0x1008115c]
add eax, dword [ebp - 0x70]
movsx ecx, word [0x1008115c]
imul ecx, eax
mov word [0x1008115c], cx
mov edx, dword [0x100811f0]
mov eax, dword [0x100811d0]
mov ecx, dword [0x100811d4]
mov dword [ebp - 0x708], ecx
sub edx, eax
mov eax, dword [0x100811f0]
sub eax, edx
mov dword [0x100811f0], eax
mov ecx, dword [0x10081108]
mov byte [ebp - 0x12], cl
jmp 0x10023c3c
cmp dword [ebp - 0x54], 0
je 0x10023a94
movzx edx, byte [0x1008108a]
test edx, edx
jne 0x10023a44
mov dword [ebp - 0x108], 1
jmp 0x10023a4e
mov dword [ebp - 0x108], 0
movsx eax, word [0x10081180]
imul eax, dword [ebp - 0x108]
test eax, eax
jne 0x10023a6c
mov dword [ebp - 0x10c], 1
jmp 0x10023a76
mov dword [ebp - 0x10c], 0
mov ecx, dword [ebp - 0x10c]
mov dword [0x100811c8], ecx
movsx edx, word [ebp - 0x1c]
sar edx, 6
mov dword [0x10081170], edx
jmp 0x10023c3c
movzx eax, word [0x10081158]
movzx ecx, byte [0x1008104f]
not ecx
cmp eax, ecx
jle 0x10023ab4
mov dword [ebp - 0x110], 1
jmp 0x10023abe
mov dword [ebp - 0x110], 0
movsx edx, word [ebp - 0x20]
test edx, edx
je 0x10023af7
mov eax, dword [0x100811d0]
mov ecx, dword [0x100811d4]
mov dword [ebp - 0x528], eax
mov dword [ebp - 0x524], ecx
mov edx, dword [ebp - 0x528]
or edx, dword [ebp - 0x524]
je 0x10023af7
mov dword [ebp - 0x114], 0
jmp 0x10023b01
mov dword [ebp - 0x114], 1
mov eax, dword [ebp - 0x110]
cmp eax, dword [ebp - 0x114]
je 0x10023c3c
movsx ecx, byte [ebp - 0x11]
test ecx, ecx
je 0x10023b29
mov edx, dword [0x10081114]
mov dword [ebp - 0x118], edx
jmp 0x10023b33
movsx eax, byte [ebp - 0x25]
mov dword [ebp - 0x118], eax
mov cl, byte [ebp - 0x118]
mov byte [0x1008108a], cl
movzx eax, word [ebp - 0x24]
cdq
add eax, 0x52dcb09
adc edx, 0xffcad
mov dword [ebp - 0x530], eax
mov dword [ebp - 0x52c], edx
mov edx, dword [ebp - 0x530]
or edx, dword [ebp - 0x52c]
jne 0x10023b75
mov dword [ebp - 0x11c], 1
jmp 0x10023b7f
mov dword [ebp - 0x11c], 0
movsx eax, byte [ebp - 0x25]
cdq
mov ecx, dword [str.5U_]
mov esi, dword [0x100811c4]
push edx
push eax
push esi
push ecx
call fcn.1005a880
mov dword [ebp - 0x538], eax
mov dword [ebp - 0x534], edx
mov edx, dword [ebp - 0x538]
or edx, dword [ebp - 0x534]
jne 0x10023bbf
mov dword [ebp - 0x120], 1
jmp 0x10023bc9
mov dword [ebp - 0x120], 0
mov eax, dword [0x10081168]
mov ecx, dword [0x1008116c]
mov dword [ebp - 0x540], eax
mov dword [ebp - 0x53c], ecx
mov edx, dword [ebp - 0x540]
or edx, dword [ebp - 0x53c]
jne 0x10023bfa
mov dword [ebp - 0x124], 1
jmp 0x10023c04
mov dword [ebp - 0x124], 0
mov eax, dword [ebp - 0x11c]
sub eax, dword [ebp - 0x120]
movsx ecx, byte [0x1008103b]
movzx edx, word [ebp - 0x50]
imul ecx, edx
movzx edx, word [0x10081158]
xor edx, dword [ebp - 0x124]
xor ecx, edx
imul eax, ecx
cdq
mov dword [0x100811d0], eax
mov dword [0x100811d4], edx
mov eax, dword [ebp - 0x88]
add eax, 0x538
mov dword [ebp - 0x360], eax
jmp 0x10023c57
mov ecx, dword [ebp - 0x88]
add ecx, 0x720
mov dword [ebp - 0x70c], ecx
push 0
mov edx, dword [ebp - 0x38]
push edx
push 0x63
push 0
mov eax, dword [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x660], edx
movzx eax, cl
push eax
movzx ecx, byte [0x100811e0]
push ecx
call fcn.100350d0
add esp, 0x1c
movzx dx, al
mov word [0x100811b8], dx
mov ecx, dword [0x100810f8]
not ecx
mov esi, dword [0x100810fc]
not esi
movzx eax, byte [0x10081027]
cdq
mov dword [ebp - 0x548], ecx
mov dword [ebp - 0x544], esi
mov dword [ebp - 0x550], eax
mov dword [ebp - 0x54c], edx
mov edx, dword [ebp - 0x544]
cmp edx, dword [ebp - 0x54c]
jb 0x10023cfc
ja 0x10023cf0
mov eax, dword [ebp - 0x548]
cmp eax, dword [ebp - 0x550]
jbe 0x10023cfc
mov dword [ebp - 0x12c], 1
jmp 0x10023d06
mov dword [ebp - 0x12c], 0
mov ecx, dword [0x10081160]
mov edx, dword [0x10081164]
mov dword [ebp - 0x558], ecx
mov dword [ebp - 0x554], edx
mov eax, dword [ebp - 0x558]
or eax, dword [ebp - 0x554]
jne 0x10023d38
mov dword [ebp - 0x128], 1
jmp 0x10023d42
mov dword [ebp - 0x128], 0
cmp dword [ebp - 0x128], 0xdadff7f
jle 0x10023d5a
mov dword [ebp - 0x130], 1
jmp 0x10023d64
mov dword [ebp - 0x130], 0
mov ecx, dword [ebp - 0x12c]
not ecx
add ecx, dword [ebp - 0x130]
not ecx
test ecx, ecx
je 0x10023d92
mov edx, 0x3e43
mov word [ebp - 0x2c], dx
movsx eax, byte [ebp - 0x14]
cdq
add eax, 0xb02d64f4
mov dword [0x1008113c], eax
jmp 0x10023dda
mov eax, dword [ebp - 0x38]
imul eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x38]
or ecx, eax
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x3c]
sub edx, 0x68
mov byte [ebp - 0x12], dl
xor eax, eax
mov ecx, dword [0x100811d0]
mov edx, dword [0x100811d4]
xor ecx, dword [0x1008110c]
xor edx, eax
mov eax, dword [0x100811d0]
mov esi, dword [0x100811d4]
sub eax, ecx
sbb esi, edx
mov dword [0x100811d0], eax
mov dword [0x100811d4], esi
mov ecx, dword [0x10081cb8]
mov dword [ebp - 0x8c], ecx
xor edx, edx
mov dword [ebp - 0x44], 0x1bc5
mov dword [ebp - 0x40], edx
movsx eax, byte [ebp - 0x13]
sar eax, 3
mov word [0x100811b8], ax
mov ecx, dword [ebp - 0x8c]
add ecx, 0x69e
mov dword [ebp - 0x378], ecx
mov dword [ebp - 4], 0
mov ecx, dword [0x100811b0]
mov esi, dword [0x100811b4]
movsx eax, byte [ebp - 0x11]
cdq
mov dword [ebp - 0x560], ecx
mov dword [ebp - 0x55c], esi
mov dword [ebp - 0x3c8], eax
mov dword [ebp - 0x3c4], edx
mov edx, dword [ebp - 0x55c]
cmp edx, dword [ebp - 0x3c4]
jl 0x10023eaf
jg 0x10023e5f
mov eax, dword [ebp - 0x560]
cmp eax, dword [ebp - 0x3c8]
jbe 0x10023eaf
mov ecx, dword [str.5U_]
mov edx, dword [0x100811c4]
add ecx, 1
adc edx, 0
mov dword [str.5U_], ecx
mov dword [0x100811c4], edx
movzx eax, word [ebp - 0x24]
imul ecx, eax, 0xef0f40ff
mov dword [ebp - 0x38], ecx
movsx eax, word [ebp - 0x20]
cdq
mov ecx, dword [0x100811b0]
mov esi, dword [0x100811b4]
push edx
push eax
push esi
push ecx
call fcn.1005a880
mov dword [0x100811b0], eax
mov dword [0x100811b4], edx
jmp 0x10023f20
mov dword [ebp - 4], 0xffffffff
jmp 0x10023f30
mov eax, dword [ebp - 0x8c]
add eax, 0x7f0
mov dword [ebp - 0x1d4], eax
mov eax, dword [ebp - 0x3c]
cdq
xor eax, dword [0x10081190]
xor edx, dword [0x10081194]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov ecx, dword [0x100811d0]
mov edx, dword [0x100811d4]
mov eax, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
push esi
push eax
push edx
push ecx
call fcn.1005a880
mov dword [0x100811d0], eax
mov dword [0x100811d4], edx
mov ecx, dword [ebp - 0x8c]
add ecx, 0x61a
mov dword [ebp - 0x374], ecx
mov edx, 4
imul eax, edx, 0x64
mov eax, dword [eax + 0x10081e48]
cdq
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], esi
mov edx, dword [0x10081130]
mov eax, dword [0x10081134]
mov dword [ebp - 0x664], eax
add edx, 0x91
mov dword [ebp - 0x54], edx
mov ecx, dword [0x10081190]
sub ecx, 0xb1ccdbf3
mov byte [0x10081063], cl
mov edx, dword [0x10081cb8]
mov dword [ebp - 0x90], edx
mov byte [ebp - 0x11], 0x72
mov eax, dword [0x10081138]
cdq
push 0x821cd
push 0x9611aad9
push edx
push eax
call fcn.1005a880
mov word [ebp - 0x50], ax
mov eax, dword [ebp - 0x90]
add eax, 0x5c5
mov dword [ebp - 0x224], eax
mov ecx, dword [str.ErrorAddUnique:0x_]
mov dword [ebp - 0x65c], ecx
mov edx, dword [0x100674dc]
mov dword [ebp - 0x658], edx
mov eax, dword [0x100674e0]
mov dword [ebp - 0x654], eax
mov ecx, dword [0x100674e4]
mov dword [ebp - 0x650], ecx
mov dx, word [0x100674e8]
mov word [ebp - 0x64c], dx
mov al, byte [0x100674ea]
mov byte [ebp - 0x64a], al
lea ecx, [ebp - 0x65c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cdq
mov dword [0x10081168], eax
mov dword [0x1008116c], edx
mov edx, dword [ebp - 0x90]
add edx, 0x65e
mov dword [ebp - 0x228], edx
mov eax, dword [ebp - 0x3c]
cdq
mov ecx, dword [0x10081178]
mov esi, dword [0x1008117c]
mov dword [ebp - 0x570], eax
mov dword [ebp - 0x56c], edx
mov dword [ebp - 0x578], ecx
mov dword [ebp - 0x574], esi
mov edx, dword [ebp - 0x570]
cmp edx, dword [ebp - 0x578]
jne 0x100240cd
mov eax, dword [ebp - 0x56c]
cmp eax, dword [ebp - 0x574]
je 0x100240d9
mov dword [ebp - 0x134], 1
jmp 0x100240e3
mov dword [ebp - 0x134], 0
cmp dword [ebp - 0x3c], 0x46
je 0x100240f5
mov dword [ebp - 0x138], 1
jmp 0x100240ff
mov dword [ebp - 0x138], 0
mov ecx, dword [ebp - 0x134]
cmp ecx, dword [ebp - 0x138]
jge 0x100241c2
movsx eax, byte [ebp - 0x13]
movzx edx, byte [ebp - 0x12]
add eax, edx
cdq
mov esi, eax
mov edi, edx
movsx eax, byte [0x1008108b]
cdq
mov ecx, dword [0x10081150]
mov ebx, dword [0x10081154]
push edx
push eax
push ebx
push ecx
call fcn.1005a880
add esi, eax
adc edi, edx
mov dword [ebp - 0x580], esi
mov dword [ebp - 0x57c], edi
mov edx, dword [ebp - 0x580]
or edx, dword [ebp - 0x57c]
jne 0x1002416f
xor eax, eax
mov dword [ebp - 0x2b0], 1
mov dword [ebp - 0x2ac], eax
jmp 0x1002417a
xorps xmm0, xmm0
movlpd qword [ebp - 0x2b0], xmm0
mov ecx, dword [ebp - 0x2b0]
mov edx, dword [ebp - 0x2ac]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x64]
xor ecx, ecx
mov edx, dword [0x10081104]
push edx
mov edx, dword [0x10081100]
push edx
push ecx
push eax
call fcn.1005a880
mov ecx, dword [ebp - 0x64]
add ecx, eax
mov dword [ebp - 0x64], ecx
mov edx, dword [ebp - 0x6c]
sub edx, 1
mov eax, dword [ebp - 0x68]
sbb eax, 0
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], eax
jmp 0x100241e8
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov cl, 1
call fcn.1005a990
mov word [ebp - 0x50], ax
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
sub ecx, 0xd6
sbb edx, 0
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x90]
add eax, 0x559
mov dword [ebp - 0xb4], eax
push 0
movzx ecx, byte [0x10081120]
push ecx
push 0xe4
movzx edx, byte [ebp - 0x20]
push edx
call fcn.100354e0
add esp, 0x10
mov byte [0x1008104f], al
movsx eax, word [0x10081184]
cmp eax, 0xac
jl 0x10024240
movsx ecx, byte [ebp - 0x25]
cmp ecx, dword [0x100811ac]
jne 0x10024240
mov dword [ebp - 0x13c], 0
jmp 0x1002424a
mov dword [ebp - 0x13c], 1
mov edx, dword [ebp - 0x13c]
not edx
test edx, edx
je 0x100242a2
movsx eax, word [ebp - 0x20]
add eax, 0x2775
mov ecx, dword [ebp - 0x54]
add ecx, eax
mov dword [ebp - 0x54], ecx
movsx eax, byte [ebp - 0x13]
cdq
mov ecx, dword [0x10081168]
mov esi, dword [0x1008116c]
push edx
push eax
push esi
push ecx
call fcn.1005a880
mov ecx, dword [0x10081168]
mov esi, dword [0x1008116c]
add ecx, eax
adc esi, edx
mov dword [0x10081168], ecx
mov dword [0x1008116c], esi
jmp 0x10024333
movsx edx, byte [ebp - 0x14]
movsx eax, word [0x10081180]
cmp edx, eax
jne 0x100242bd
mov dword [ebp - 0x140], 1
jmp 0x100242c7
mov dword [ebp - 0x140], 0
movzx ecx, word [ebp - 0x2c]
add ecx, dword [ebp - 0x140]
je 0x100242fb
movsx edx, word [0x10081180]
imul eax, edx, 0x4d5e
cdq
mov dword [0x10081128], eax
mov dword [0x1008112c], edx
movzx eax, byte [ebp - 0x16]
add eax, 0x37c8
mov word [ebp - 0x1c], ax
jmp 0x10024333
cmp dword [ebp - 0x60], 0
je 0x10024333
movsx ecx, word [ebp - 0x20]
movsx edx, word [0x1008115c]
sub ecx, edx
movsx eax, word [ebp - 0x20]
sub eax, ecx
mov word [ebp - 0x20], ax
mov ecx, dword [0x100811e8]
mov edx, dword [0x100811ec]
mov dword [ebp - 0x668], edx
sub ecx, 0x960812a0
mov dword [ebp - 0x54], ecx
xor eax, eax
mov word [0x100811b8], ax
mov ecx, 1
imul edx, ecx, 0x370c
movsx eax, byte [edx + 0x100ad5e8]
and eax, dword [0x10081138]
mov dword [0x10081138], eax
mov eax, dword [0x100811c8]
not eax
cdq
push 0xb163d
push 0x14be036b
push edx
push eax
call fcn.1005a880
mov dword [ebp - 0x588], eax
mov dword [ebp - 0x584], edx
mov ecx, dword [ebp - 0x588]
or ecx, dword [ebp - 0x584]
jne 0x1002439f
xor edx, edx
mov dword [ebp - 0x2b8], 1
mov dword [ebp - 0x2b4], edx
jmp 0x100243aa
xorps xmm0, xmm0
movlpd qword [ebp - 0x2b8], xmm0
movsx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [str.5U_]
mov esi, dword [0x100811c4]
xor ecx, 0xb7115e57
xor esi, 0xfff8d057
mov edi, dword [ebp - 0x2b8]
sub edi, ecx
mov ecx, dword [ebp - 0x2b4]
sbb ecx, esi
push ecx
push edi
push edx
push eax
call fcn.1005a880
mov byte [ebp - 0x12], al
movsx edx, word [0x100811b8]
mov dword [ebp - 0x35c], edx
cmp dword [ebp - 0x35c], 0
je 0x100243fb
jmp 0x1002444c
movsx eax, word [0x100811a0]
cdq
mov ecx, dword [0x100811e8]
mov esi, dword [0x100811ec]
add ecx, eax
adc esi, edx
movsx eax, byte [ebp - 0x25]
movsx edx, byte [0x100810b2]
imul eax, edx
cdq
mov edi, dword [0x100811e8]
mov ebx, dword [0x100811ec]
add edi, eax
adc ebx, edx
add ecx, edi
adc esi, ebx
mov dword [0x10081128], ecx
mov dword [0x1008112c], esi
mov dword [0x100811a4], 0x5a85686b
movsx eax, word [ebp - 0x1c]
movsx ecx, byte [ebp - 0x13]
sub eax, ecx
movsx edx, word [ebp - 0x1c]
sub edx, eax
mov word [ebp - 0x1c], dx
mov dword [ebp - 0x94], 0x25
jmp 0x1002447b
mov eax, dword [ebp - 0x94]
sub eax, 1
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0
jle 0x100246fc
xor ecx, ecx
mov dword [0x100811b0], 4
mov dword [0x100811b4], ecx
mov byte [ebp - 0x15], 0x78
mov edx, dword [0x10081128]
and edx, 0x1b69df01
mov word [0x10081140], dx
movzx eax, byte [0x1008108a]
cdq
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
push esi
push ecx
push edx
push eax
call fcn.1005a880
mov ecx, eax
movzx eax, byte [0x1008108a]
cdq
sub eax, ecx
mov byte [0x1008108a], al
mov edx, dword [0x100811b0]
mov eax, dword [0x100811b4]
mov dword [ebp - 0xd4], edx
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
jl 0x100246e5
jg 0x1002450c
cmp dword [ebp - 0xd4], 0
jb 0x100246e5
cmp dword [ebp - 0xd0], 0
jg 0x100246e5
jl 0x10024528
cmp dword [ebp - 0xd4], 4
ja 0x100246e5
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 0x748], ecx
mov edx, dword [ebp - 0x748]
jmp dword [edx*4 + 0x100288ec]
mov cx, word [0x10081184]
add cx, 1
mov word [0x10081184], cx
jmp 0x1002446c
cmp dword [ebp - 0x360], 0x22f
je 0x10024e5f
movzx edx, byte [ebp - 0x15]
sub edx, 0x3ef0
mov dword [ebp - 0x70], edx
movsx eax, word [0x100811e0]
cdq
add eax, 0x89451929
mov byte [str.Failedtogetdatabas], al
movsx eax, word [0x10081184]
cdq
mov ecx, eax
mov esi, edx
add ecx, 0x8a9f7b52
adc esi, 0x6ef31
movsx eax, word [0x100811dc]
add eax, 0x49ca
cdq
push edx
push eax
push esi
push ecx
call fcn.1005a880
mov ecx, eax
not ecx
movzx eax, word [ebp - 0x2c]
not eax
cdq
mov edx, dword [0x10081150]
mov esi, dword [0x10081154]
mov dword [ebp - 0x710], esi
sub edx, eax
or edx, 0xe
xor ecx, edx
not ecx
mov dword [ebp - 0x3c], ecx
movzx eax, word [0x100811a8]
shl eax, 4
mov dword [ebp - 0x3c], eax
xor ecx, ecx
mov byte [ebp - 0x72], cl
push 0x104
lea edx, [ebp - 0x181c]
push edx
lea eax, [ebp - 0x77a]
push eax
lea ecx, [ebp - 0x72]
call fcn.10002560
mov ecx, eax
call fcn.10031da0
push eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
jne 0x10024e5f
jmp 0x100247d6
jmp 0x100247dd
jmp 0x100247e9
mov eax, dword [0x10081114]
cdq
mov dword [ebp - 0x590], eax
mov dword [ebp - 0x58c], edx
mov ecx, dword [ebp - 0x58c]
cmp ecx, dword [0x1008112c]
jl 0x10024842
jg 0x10024819
mov edx, dword [ebp - 0x590]
cmp edx, dword [0x10081128]
jbe 0x10024842
mov eax, dword [0x100811e8]
mov ecx, dword [0x100811ec]
mov dword [ebp - 0x674], ecx
mov word [0x10081184], ax
xor edx, edx
mov dword [0x100811b0], 0xd14a
mov dword [0x100811b4], edx
mov eax, dword [0x10081cb8]
mov dword [ebp - 0x98], eax
movsx eax, byte [ebp - 0x11]
cdq
mov ecx, eax
add ecx, 0xa8c26fad
movsx eax, byte [ebp - 0x14]
cdq
sub eax, ecx
mov byte [ebp - 0x14], al
movzx eax, byte [0x1008108a]
cdq
add eax, dword [0x10081190]
adc edx, dword [0x10081194]
mov dword [0x10081190], eax
mov dword [0x10081194], edx
mov edx, dword [ebp - 0x98]
add edx, 0x6e3
mov dword [ebp - 0x160], edx
push 0
push 0
push 0
call fcn.10036830
add esp, 0xc
cwde
cdq
mov dword [0x100811d0], eax
mov dword [0x100811d4], edx
mov eax, dword [0x100811e8]
mov ecx, dword [0x100811ec]
mov dword [ebp - 0x598], eax
mov dword [ebp - 0x594], ecx
mov edx, dword [ebp - 0x598]
cmp edx, dword [0x10081198]
jne 0x100248e3
mov eax, dword [ebp - 0x594]
cmp eax, dword [0x1008119c]
je 0x100248f7
xor ecx, ecx
mov dword [ebp - 0x2c0], 1
mov dword [ebp - 0x2bc], ecx
jmp 0x10024902
xorps xmm0, xmm0
movlpd qword [ebp - 0x2c0], xmm0
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
not edx
not eax
or edx, 0xa8d0e9aa
or eax, 0x745d6
mov dword [ebp - 0x5a0], edx
mov dword [ebp - 0x59c], eax
mov ecx, dword [ebp - 0x2bc]
cmp ecx, dword [ebp - 0x59c]
jb 0x1002494d
ja 0x10024941
mov edx, dword [ebp - 0x2c0]
cmp edx, dword [ebp - 0x5a0]
jb 0x1002494d
mov dword [ebp - 0x154], 1
jmp 0x10024957
mov dword [ebp - 0x154], 0
movsx eax, word [0x10081180]
test eax, eax
jne 0x10024977
mov ecx, 0x7d
test ecx, ecx
jne 0x10024977
mov dword [ebp - 0x14c], 0
jmp 0x10024981
mov dword [ebp - 0x14c], 1
cmp dword [0x10081114], 0
je 0x100249ba
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
not edx
not eax
mov dword [ebp - 0x5a8], edx
mov dword [ebp - 0x5a4], eax
mov ecx, dword [ebp - 0x5a8]
or ecx, dword [ebp - 0x5a4]
je 0x100249ba
mov dword [ebp - 0x150], 1
jmp 0x100249c4
mov dword [ebp - 0x150], 0
mov edx, dword [ebp - 0x14c]
cmp edx, dword [ebp - 0x150]
jl 0x100249de
mov dword [ebp - 0x158], 1
jmp 0x100249e8
mov dword [ebp - 0x158], 0
mov eax, dword [ebp - 0x154]
cmp eax, dword [ebp - 0x158]
jl 0x10024b8d
mov dword [ebp - 4], 2
mov ecx, 0x3e90
mov word [ebp - 0x1c], cx
mov dl, byte [ebp - 0x12]
add dl, 1
mov byte [ebp - 0x12], dl
mov eax, dword [0x10081160]
mov ecx, dword [0x10081164]
mov edx, dword [0x10081104]
push edx
mov edx, dword [0x10081100]
push edx
push ecx
push eax
call fcn.1005a880
mov dword [0x10081160], eax
mov dword [0x10081164], edx
jmp 0x10024b7b
mov dword [ebp - 4], 0xffffffff
jmp 0x10024b8b
jmp 0x10024bc2
movzx ecx, word [ebp - 0x2c]
movzx edx, word [ebp - 0x24]
cmp ecx, edx
jl 0x10024bc2
mov eax, dword [0x10081198]
add eax, 1
mov ecx, dword [0x1008119c]
adc ecx, 0
mov dword [0x10081198], eax
mov dword [0x1008119c], ecx
movsx edx, word [0x100811e0]
xor edx, dword [ebp - 0x64]
mov byte [ebp - 0x15], dl
mov eax, dword [ebp - 0x98]
add eax, 0x4c7
mov dword [ebp - 0x364], eax
movsx ecx, word [0x100811b8]
add ecx, dword [ebp - 0x64]
mov word [0x100811b8], cx
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
xor ecx, 0x4c
xor esi, 0
movsx eax, byte [ebp - 0x11]
cdq
push esi
push ecx
push edx
push eax
call fcn.1005a880
mov byte [ebp - 0x11], al
mov edx, dword [0x10081190]
or edx, dword [0x10081194]
jne 0x10024c23
xor eax, eax
mov dword [ebp - 0x2d8], 1
mov dword [ebp - 0x2d4], eax
jmp 0x10024c2e
xorps xmm0, xmm0
movlpd qword [ebp - 0x2d8], xmm0
mov ecx, dword [ebp - 0x2d4]
push ecx
mov edx, dword [ebp - 0x2d8]
push edx
mov eax, dword [ebp - 0x58]
push eax
mov ecx, dword [ebp - 0x5c]
push ecx
call fcn.1005a880
mov word [ebp - 0x50], ax
mov edx, dword [ebp - 0x98]
add edx, 0x5ce
mov dword [ebp - 0x678], edx
mov eax, dword [0x10081160]
mov ecx, dword [0x10081164]
mov dword [ebp - 0x67c], ecx
mov byte [0x1008108b], al
mov dword [0x1008110c], 0x9cd45909
movzx edx, byte [ebp - 0x12]
sub edx, 0x1d0122e6
mov word [0x100811dc], dx
mov eax, dword [ebp - 0x160]
add eax, 0x1f
imul eax, dword [ebp - 0x160]
cmp eax, dword [ebp - 0x364]
je 0x10024e5f
movsx eax, word [0x10081180]
cdq
mov ecx, dword [0x100811e8]
mov edx, dword [0x100811ec]
mov dword [ebp - 0x680], edx
sub eax, ecx
mov word [0x10081180], ax
mov eax, dword [ebp - 0x60]
sub eax, dword [ebp - 0x64]
mov dword [ebp - 0x60], eax
movsx ecx, byte [ebp - 0x14]
imul edx, ecx, 0xfca350a6
mov word [0x100811dc], dx
movzx eax, byte [ebp - 0x16]
test eax, eax
je 0x10024d4e
mov ecx, dword [ebp - 0x54]
xor edx, edx
mov eax, dword [0x100811d0]
mov esi, dword [0x100811d4]
push edx
push ecx
push esi
push eax
call fcn.1005a880
mov ecx, dword [0x100811d0]
mov esi, dword [0x100811d4]
sub ecx, eax
sbb esi, edx
mov dword [0x100811d0], ecx
mov dword [0x100811d4], esi
mov eax, dword [ebp - 0x3c]
cdq
mov ecx, dword [0x1008119c]
push ecx
mov ecx, dword [0x10081198]
push ecx
push edx
push eax
call fcn.1005a880
mov ecx, eax
mov eax, dword [ebp - 0x3c]
cdq
sub eax, ecx
mov dword [ebp - 0x3c], eax
jmp 0x10024e58
movzx edx, byte [0x10081027]
cmp edx, 0xa80477b0
ja 0x10024d9c
push 0
push 0x2261cbaf
mov eax, dword [0x10081104]
push eax
mov ecx, dword [0x10081100]
push ecx
call fcn.1005a880
mov byte [0x1008108a], al
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
push 0x66722
push 0x1e3f8733
push eax
push edx
call fcn.1005a880
mov dword [0x1008113c], eax
jmp 0x10024e58
mov ecx, dword [ebp - 0x6c]
or ecx, dword [ebp - 0x68]
je 0x10024e05
movsx eax, byte [str.Failedtogetdatabas]
cdq
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
push edx
push eax
push esi
push ecx
call fcn.1005a880
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 edx, dword [0x10081188]
mov eax, dword [0x1008118c]
mov dword [ebp - 0x684], eax
add edx, 0x274b
mov dword [ebp - 0x54], edx
mov ecx, dword [ebp - 0x64]
xor edx, edx
mov eax, dword [0x100811d4]
sub ecx, dword [0x100811d0]
sbb edx, eax
mov dword [0x10081190], ecx
mov dword [0x10081194], edx
jmp 0x10024e58
movsx ecx, word [0x10081110]
test ecx, ecx
jne 0x10024e58
movsx eax, byte [str.Failedtogetdatabas]
cdq
mov ecx, dword [0x10081148]
mov esi, dword [0x1008114c]
sub ecx, eax
sbb esi, edx
mov dword [0x10081148], ecx
mov dword [0x1008114c], esi
movzx eax, word [ebp - 0x24]
cdq
push edx
push eax
mov edx, dword [ebp - 0x68]
push edx
mov eax, dword [ebp - 0x6c]
push eax
call fcn.1005a880
mov ecx, dword [ebp - 0x6c]
sub ecx, eax
mov eax, dword [ebp - 0x68]
sbb eax, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], eax
xor eax, eax
jmp 0x100288d8
mov ecx, dword [0x10081178]
mov esi, dword [0x1008117c]
movzx eax, byte [0x1008108a]
cdq
xor eax, dword [ebp - 0x5c]
xor edx, dword [ebp - 0x58]
mov dword [ebp - 0x5c0], ecx
mov dword [ebp - 0x5bc], esi
mov dword [ebp - 0x5c8], eax
mov dword [ebp - 0x5c4], edx
mov edx, dword [ebp - 0x5bc]
cmp edx, dword [ebp - 0x5c4]
ja 0x10024eec
jb 0x10024eaf
mov eax, dword [ebp - 0x5c0]
cmp eax, dword [ebp - 0x5c8]
ja 0x10024eec
movsx ecx, byte [ebp - 0x14]
xor ecx, 0x62608389
mov byte [ebp - 0x12], cl
mov ecx, dword [0x10081198]
xor ecx, dword [0x10081190]
mov esi, dword [0x1008119c]
xor esi, dword [0x10081194]
movzx eax, word [0x100811d8]
cdq
sub ecx, eax
sbb esi, edx
mov dword [0x100811d0], ecx
mov dword [0x100811d4], esi
xor edx, edx
mov byte [ebp - 0x73], dl
push 0x104
lea eax, [ebp - 0x1614]
push eax
lea ecx, [ebp - 0x7da]
push ecx
lea ecx, [ebp - 0x73]
call fcn.100028b0
mov ecx, eax
call fcn.10031ca0
push eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
jne 0x10025725
mov edx, dword [0x10081100]
add edx, 0x12c9652a
mov byte [0x1008108a], dl
movzx eax, word [0x10081158]
sar eax, 1
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
push 0
push 0x70
mov eax, dword [0x100810fc]
push eax
mov ecx, dword [0x100810f8]
push ecx
push 0
push 0
push 0
push 0
call fcn.10037680
add esp, 0x20
mov dword [0x100811d0], eax
mov dword [0x100811d4], edx
mov edx, dword [0x100811d0]
mov eax, dword [0x100811d4]
mov dword [ebp - 0x5d0], edx
mov dword [ebp - 0x5cc], eax
cmp dword [ebp - 0x5cc], 0
jl 0x10024fa7
jg 0x10024f9b
cmp dword [ebp - 0x5d0], 0
jbe 0x10024fa7
mov dword [ebp - 0x164], 1
jmp 0x10024fb1
mov dword [ebp - 0x164], 0
mov ecx, dword [0x100811d0]
mov edx, dword [0x100811d4]
mov dword [ebp - 0x5d8], ecx
mov dword [ebp - 0x5d4], edx
cmp dword [ebp - 0x5d4], 0
jl 0x10024fe9
jg 0x10024fdd
cmp dword [ebp - 0x5d8], 0x55
jbe 0x10024fe9
mov dword [ebp - 0x168], 1
jmp 0x10024ff3
mov dword [ebp - 0x168], 0
mov eax, dword [ebp - 0x164]
cmp eax, dword [ebp - 0x168]
je 0x10025077
cmp dword [ebp - 0x60], 0
je 0x10025021
mov ecx, dword [0x10081160]
mov edx, dword [0x10081164]
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0xd8], edx
jmp 0x10025032
movzx eax, word [ebp - 0x50]
cdq
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd8]
mov dword [0x10081160], eax
mov dword [0x10081164], ecx
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
not ecx
not esi
movzx eax, word [ebp - 0x2c]
cdq
sub ecx, eax
sbb esi, edx
movsx eax, byte [ebp - 0x13]
cdq
xor eax, dword [ebp - 0x44]
xor edx, dword [ebp - 0x40]
push edx
push eax
push esi
push ecx
call fcn.1005a880
mov byte [0x10081027], al
jmp 0x1002508d
mov edx, 0x4a
mov word [ebp - 0x1c], dx
movzx eax, byte [ebp - 0x16]
movsx ecx, word [ebp - 0x20]
sub eax, ecx
mov byte [ebp - 0x16], al
mov edx, dword [0x10081cb8]
mov dword [ebp - 0x9c], edx
movsx eax, word [0x100811a0]
test eax, eax
je 0x100250eb
push 0x7f
push 0xb6
movzx ecx, byte [0x1008103b]
push ecx
push 0
call fcn.100354e0
add esp, 0x10
movzx dx, al
mov word [ebp - 0x24], dx
movzx eax, word [ebp - 0x24]
test eax, eax
je 0x100250eb
mov dword [ebp - 0x38], 0xf29e0da8
movsx eax, byte [ebp - 0x13]
cdq
mov ecx, eax
sub ecx, dword [0x10081118]
movsx eax, byte [ebp - 0x13]
cdq
sub eax, ecx
mov byte [ebp - 0x13], al
mov edx, dword [ebp - 0x9c]
add edx, 0x528
mov dword [ebp - 0x36c], edx
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x16c], eax
cmp dword [ebp - 0x16c], 0
je 0x10025138
mov eax, dword [ebp - 0x16c]
push eax
call dword [sym.imp.USER32.dll_GetMenu]
mov dword [ebp - 0x368], eax
mov ecx, dword [ebp - 0x368]
push ecx
call dword [sym.imp.USER32.dll_DestroyMenu]
mov dword [ebp - 0x688], eax
mov edx, dword [ebp - 0x9c]
add edx, 0x6e4
mov dword [ebp - 0x17c], edx
movsx eax, word [ebp - 0x1c]
cdq
mov dword [ebp - 0x5e0], eax
mov dword [ebp - 0x5dc], edx
mov eax, dword [0x1008111c]
cmp eax, dword [ebp - 0x5dc]
jl 0x10025184
jg 0x10025178
mov ecx, dword [0x10081118]
cmp ecx, dword [ebp - 0x5e0]
jb 0x10025184
mov dword [ebp - 0x170], 1
jmp 0x1002518e
mov dword [ebp - 0x170], 0
movsx eax, byte [0x100810b2]
cdq
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
mov dword [ebp - 0x5e8], eax
mov dword [ebp - 0x5e4], edx
mov dword [ebp - 0x5f0], ecx
mov dword [ebp - 0x5ec], esi
mov edx, dword [ebp - 0x5e8]
cmp edx, dword [ebp - 0x5f0]
jne 0x100251d0
mov eax, dword [ebp - 0x5e4]
cmp eax, dword [ebp - 0x5ec]
je 0x100251dc
mov dword [ebp - 0x174], 1
jmp 0x100251e6
mov dword [ebp - 0x174], 0
mov ecx, dword [ebp - 0x170]
cmp ecx, dword [ebp - 0x174]
je 0x10025222
imul edx, dword [0x100811a4], 0x9d
mov dword [ebp - 0x70], edx
mov al, byte [0x1008108a]
mov ecx, 1
imul edx, ecx, 0xa
mov byte [edx + 0x10098500], al
mov eax, 0xffffb537
mov word [ebp - 0x1c], ax
jmp 0x10025331
movzx ecx, byte [ebp - 0x12]
test ecx, ecx
jne 0x1002523e
xor edx, edx
mov dword [ebp - 0x2e0], 1
mov dword [ebp - 0x2dc], edx
jmp 0x10025249
xorps xmm0, xmm0
movlpd qword [ebp - 0x2e0], xmm0
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x5f8], eax
mov dword [ebp - 0x5f4], ecx
mov edx, dword [ebp - 0x5f8]
cmp edx, dword [ebp - 0x2e0]
jne 0x10025277
mov eax, dword [ebp - 0x5f4]
cmp eax, dword [ebp - 0x2dc]
je 0x10025287
movzx ecx, byte [ebp - 0x12]
cmp ecx, 0x71f87cd3
jl 0x10025331
xor edx, edx
mov dword [ebp - 0x4c], 0xdb80
mov dword [ebp - 0x48], edx
mov eax, dword [0x10081100]
or eax, dword [0x10081104]
jne 0x100252b4
xor ecx, ecx
mov dword [ebp - 0x2e8], 1
mov dword [ebp - 0x2e4], ecx
jmp 0x100252bf
xorps xmm0, xmm0
movlpd qword [ebp - 0x2e8], xmm0
mov edx, dword [ebp - 0x2e8]
xor edx, 0x8bde6106
mov eax, dword [ebp - 0x2e4]
xor eax, 0x6d32d
movsx ecx, byte [0x100810b2]
not ecx
sub ecx, dword [ebp - 0x60]
xor esi, esi
push esi
push ecx
push eax
push edx
call fcn.1005a880
mov ecx, eax
movzx eax, byte [0x1008104f]
movsx edx, word [ebp - 0x20]
not edx
and eax, edx
cdq
mov esi, eax
movzx eax, byte [ebp - 0x12]
not eax
cdq
mov edx, dword [ebp - 0x34]
mov edi, dword [ebp - 0x30]
mov dword [ebp - 0x68c], edi
and eax, edx
add esi, eax
add ecx, esi
mov word [0x10081110], cx
movsx eax, word [0x100811b8]
add eax, dword [ebp - 0x70]
mov word [0x100811b8], ax
mov ecx, dword [ebp - 0x9c]
add ecx, 0x508
mov dword [ebp - 0x180], ecx
call dword [sym.imp.USER32.dll_GetActiveWindow]
xor edx, edx
mov dword [0x10081148], eax
mov dword [0x1008114c], edx
movsx eax, word [ebp - 0x20]
cmp eax, dword [ebp - 0x3c]
jle 0x10025373
xor ecx, ecx
mov dword [ebp - 0x2f0], 1
mov dword [ebp - 0x2ec], ecx
jmp 0x1002537e
xorps xmm0, xmm0
movlpd qword [ebp - 0x2f0], xmm0
mov edx, dword [ebp - 0x58]
cmp edx, dword [ebp - 0x2ec]
jb 0x100253a2
ja 0x10025396
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x2f0]
jb 0x100253a2
mov dword [ebp - 0x178], 1
jmp 0x100253ac
mov dword [ebp - 0x178], 0
mov ecx, dword [ebp - 0x178]
not ecx
test ecx, ecx
je 0x100254d9
movzx eax, byte [ebp - 0x12]
cdq
mov ecx, dword [0x100811d0]
mov esi, dword [0x100811d4]
mov dword [ebp - 0x600], eax
mov dword [ebp - 0x5fc], edx
mov dword [ebp - 0x608], ecx
mov dword [ebp - 0x604], esi
mov edx, dword [ebp - 0x5fc]
cmp edx, dword [ebp - 0x604]
jl 0x100254af
jg 0x1002540b
mov eax, dword [ebp - 0x600]
cmp eax, dword [ebp - 0x608]
jbe 0x100254af
movsx eax, byte [ebp - 0x11]
cdq
push edx
push eax
mov ecx, dword [0x100810fc]
push ecx
mov edx, dword [0x100810f8]
push edx
call fcn.1005a880
mov dword [0x100810f8], eax
mov dword [0x100810fc], edx
movsx eax, byte [ebp - 0x11]
cdq
mov ecx, 8
imul ecx, ecx, 0xd01
mov dword [ecx + 0x10098558], eax
mov dword [ecx + 0x1009855c], edx
mov edx, dword [0x10081130]
mov eax, dword [0x10081134]
mov dword [ebp - 0x610], edx
mov dword [ebp - 0x60c], eax
mov ecx, dword [ebp - 0x610]
or ecx, dword [ebp - 0x60c]
je 0x10025485
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0xe4], edx
mov dword [ebp - 0xe0], eax
jmp 0x10025496
mov ecx, dword [ebp - 0x54]
xor edx, edx
mov dword [ebp - 0xe4], ecx
mov dword [ebp - 0xe0], edx
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xe0]
mov dword [0x10081150], eax
mov dword [0x10081154], ecx
jmp 0x100254d9
mov edx, 0x1f
test edx, edx
je 0x100254d9
mov eax, dword [ebp - 0x70]
mov ecx, 1
imul edx, ecx, 0x262f
mov byte [edx + 0x102a77c8], al
movsx eax, word [0x10081184]
shl eax, 4
mov byte [ebp - 0x16], al
mov ecx, dword [ebp - 0x180]
add ecx, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x36c]
imul edx, ecx
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x180]
sub ecx, 0x60
lea eax, [eax + ecx + 0x127]
cmp edx, eax
je 0x10025725
movzx ecx, byte [0x10081027]
test ecx, ecx
je 0x100255e2
movsx edx, word [0x100811dc]
cmp edx, dword [0x1008113c]
jl 0x100255bc
mov eax, dword [0x10081cb8]
xor ecx, ecx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
movsx edx, byte [ebp - 0x11]
movzx eax, word [ebp - 0x2c]
sub edx, eax
jne 0x1002555b
xor ecx, ecx
mov dword [ebp - 0x2f8], 1
mov dword [ebp - 0x2f4], ecx
jmp 0x10025566
xorps xmm0, xmm0
movlpd qword [ebp - 0x2f8], xmm0
movzx edx, byte [ebp - 0x16]
mov eax, dword [ebp - 0x70]
and eax, edx
movsx ecx, word [ebp - 0x20]
add eax, ecx
not eax
mov esi, eax
xor edi, edi
mov edx, dword [0x100811b0]
mov eax, dword [0x100811b4]
push eax
push edx
mov ecx, dword [ebp - 0x2f4]
push ecx
mov edx, dword [ebp - 0x2f8]
push edx
call fcn.1005a880
add esi, eax
adc edi, edx
not esi
not edi
mov dword [0x100810f8], esi
mov dword [0x100810fc], edi
movsx eax, byte [ebp - 0x13]
cdq
add eax, dword [ebp - 0x5c]
mov byte [ebp - 0x13], al
jmp 0x100255e0
movzx eax, byte [0x1008104f]
test eax, eax
je 0x100255e0
movsx ecx, byte [ebp - 0x11]
imul ecx, dword [0x100811a4]
mov edx, dword [0x100811a4]
sub edx, ecx
mov dword [0x100811a4], edx
jmp 0x1002562f
mov eax, 0x235d
test eax, eax
je 0x1002562f
mov ecx, dword [0x10081100]
not ecx
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x690], eax
sub edx, ecx
mov word [0x100811e0], dx
movsx ecx, byte [ebp - 0x13]
sub ecx, 0x7dce
mov word [0x100811a0], cx
movzx edx, byte [ebp - 0x12]
movsx eax, word [0x100811a0]
sub edx, eax
movzx ecx, byte [ebp - 0x12]
sub ecx, edx
mov byte [ebp - 0x12], cl
movzx edx, byte [0x10081110]
push edx
movzx eax, byte [ebp - 0x5c]
push eax
movzx ecx, byte [ebp - 0x50]
push ecx
push 0
movzx edx, byte [ebp - 0x50]
push edx
movzx eax, byte [ebp - 0x15]
push eax
push 0x22
call fcn.100350d0
add esp, 0x1c
movzx eax, al
cdq
mov dword [0x10081100], eax
mov dword [0x10081104], edx
cmp dword [0x10081104], 0
jl 0x100256a1
jg 0x1002567a
cmp dword [0x10081100], 0
jb 0x100256a1
mov ecx, dword [0x10081cb8]
xor edx, edx
mov dword [0x10081118], ecx
mov dword [0x1008111c], edx
movzx eax, word [0x100811a8]
sub eax, 0x441bb319
mov byte [0x1008108a], al
jmp 0x1002571e
mov ecx, dword [0x100811d0]
mov edx, dword [0x100811d4]
mov eax, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
mov dword [ebp - 0x618], ecx
mov dword [ebp - 0x614], edx
mov dword [ebp - 0x620], eax
mov dword [ebp - 0x61c], esi
mov ecx, dword [ebp - 0x614]
cmp ecx, dword [ebp - 0x61c]
jb 0x1002571e
ja 0x100256e9
mov edx, dword [ebp - 0x618]
cmp edx, dword [ebp - 0x620]
jb 0x1002571e
mov eax, dword [0x1008113c]
cdq
sub eax, 0x71088cbf
sbb edx, 0x5a49
mov dword [0x10081160], eax
mov dword [0x10081164], edx
movsx ecx, word [0x10081180]
add ecx, dword [0x10081170]
mov eax, dword [0x10081170]
shr eax, cl
mov dword [0x10081170], eax
xor eax, eax
jmp 0x100288d8
push 0
push 0x91
push 0
push 0x19
call fcn.10038270
add esp, 0x10
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
cmp dword [ebp - 0x54], 0
jne 0x10025825
movsx ecx, byte [0x1008103b]
movzx edx, word [ebp - 0x24]
cmp ecx, edx
jge 0x10025763
mov dword [ebp - 0x184], 1
jmp 0x1002576d
mov dword [ebp - 0x184], 0
movsx eax, byte [0x1008103b]
cmp eax, 0x29
jge 0x10025785
mov dword [ebp - 0x188], 1
jmp 0x1002578f
mov dword [ebp - 0x188], 0
mov ecx, dword [ebp - 0x184]
cmp ecx, dword [ebp - 0x188]
jle 0x100257dd
movzx eax, byte [0x10081063]
cdq
mov ecx, eax
mov edx, dword [0x10081150]
mov eax, dword [0x10081154]
mov dword [ebp - 0x694], eax
sub ecx, edx
movzx eax, byte [0x10081063]
cdq
sub eax, ecx
mov byte [0x10081063], al
mov ecx, dword [0x100811f0]
sub ecx, 0x6f58347d
mov dword [0x10081138], ecx
jmp 0x10025820
movzx eax, byte [ebp - 0x16]
cdq
mov dword [ebp - 0x628], eax
mov dword [ebp - 0x624], edx
cmp dword [ebp - 0x624], 0x39b28
jg 0x10025820
jl 0x10025808
cmp dword [ebp - 0x628], 0xad064c15
ja 0x10025820
movsx edx, byte [ebp - 0x11]
sub edx, dword [0x1008113c]
mov byte [ebp - 0x11], dl
mov byte [0x10081027], 0x57
mov byte [ebp - 0x15], 2
jmp 0x100258b5
mov eax, dword [str.5U_]
mov ecx, dword [0x100811c4]
mov dword [ebp - 0x630], eax
mov dword [ebp - 0x62c], ecx
cmp dword [ebp - 0x62c], 0
jb 0x1002585f
ja 0x10025853
cmp dword [ebp - 0x630], 0xa377
jb 0x1002585f
mov dword [ebp - 0x18c], 1
jmp 0x10025869
mov dword [ebp - 0x18c], 0
cmp dword [ebp - 0x18c], 0x31f5
jne 0x100258b5
mov dx, word [ebp - 0x1c]
mov byte [ebp - 0x12], dl
mov al, byte [ebp - 0x6c]
mov ecx, 1
imul edx, ecx, 0x570d
mov byte [edx + 0x100a1788], al
movsx eax, word [ebp - 0x1c]
cdq
mov ecx, eax
mov edx, dword [0x10081168]
mov eax, dword [0x1008116c]
mov dword [ebp - 0x698], eax
sub ecx, edx
movsx eax, word [ebp - 0x1c]
cdq
add eax, ecx
mov word [ebp - 0x1c], ax
xor ecx, ecx
mov byte [ebp - 0x74], cl
push 0x104
lea edx, [ebp - 0x9e4]
push edx
lea eax, [ebp - 0x796]
push eax
lea ecx, [ebp - 0x74]
call fcn.10002ba0
mov ecx, eax
call fcn.10031e20
push eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
jne 0x10025f85
movzx eax, byte [ebp - 0x12]
cdq
push edx
push eax
movsx eax, word [0x10081184]
cdq
push edx
push eax
call fcn.10038270
add esp, 0x10
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
movzx ecx, byte [0x10081063]
cmp ecx, dword [ebp - 0x3c]
jg 0x10025947
movzx eax, byte [ebp - 0x12]
cdq
mov dword [ebp - 0x638], eax
mov dword [ebp - 0x634], edx
cmp dword [ebp - 0x638], 0xa2831fc
jne 0x10025a06
cmp dword [ebp - 0x634], 0xde659
jne 0x10025a06
mov dword [ebp - 0xb8], 0x3e4
jmp 0x10025962
mov edx, dword [ebp - 0xb8]
sub edx, 1
mov dword [ebp - 0xb8], edx
cmp dword [ebp - 0xb8], 0
jle 0x10025a06
mov byte [ebp - 0x15], 0x9c
movsx eax, byte [ebp - 0x11]
test eax, eax
jne 0x10025987
mov dword [ebp - 0x190], 1
jmp 0x10025991
mov dword [ebp - 0x190], 0
mov ecx, dword [0x10081188]
mov edx, dword [0x1008118c]
not ecx
not edx
mov eax, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
sub eax, ecx
sbb esi, edx
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
add ecx, 0x95
adc edx, 0
push edx
push ecx
push esi
push eax
call fcn.1005a880
mov ecx, eax
mov esi, edx
movzx eax, byte [ebp - 0x16]
add eax, dword [ebp - 0x190]
cdq
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], esi
movsx edx, word [0x10081140]
add edx, dword [0x1008113c]
mov dword [0x1008113c], edx
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
add eax, 1
adc ecx, 0
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], ecx
jmp 0x10025953
movzx edx, word [0x100811a8]
mov eax, dword [0x1008110c]
add eax, edx
mov dword [0x1008110c], eax
mov ecx, dword [0x10081cb8]
mov dword [ebp - 0xa4], ecx
movsx edx, word [0x100811dc]
test edx, edx
je 0x10025ac9
mov dword [ebp - 4], 4
mov byte [ebp - 4], 5
mov eax, dword [0x10081114]
add eax, dword [0x100811a4]
mov ecx, dword [0x100811a4]
sub ecx, eax
mov dword [0x100811a4], ecx
jmp 0x10025a89
mov dword [ebp - 4], 4
jmp 0x10025a99
jmp 0x10025ab4
mov dword [ebp - 4], 0xffffffff
jmp 0x10025ac4
jmp 0x10025bb7
movsx eax, word [0x10081180]
not eax
cdq
mov ecx, dword [0x10081150]
mov esi, dword [0x10081154]
mov dword [ebp - 0x640], eax
mov dword [ebp - 0x63c], edx
mov dword [ebp - 0x648], ecx
mov dword [ebp - 0x644], esi
mov edx, dword [ebp - 0x640]
cmp edx, dword [ebp - 0x648]
jne 0x10025b13
mov eax, dword [ebp - 0x63c]
cmp eax, dword [ebp - 0x644]
je 0x10025b1f
mov dword [ebp - 0x194], 1
jmp 0x10025b29
mov dword [ebp - 0x194], 0
movzx ecx, byte [ebp - 0x12]
test ecx, ecx
je 0x10025b45
mov edx, dword [ebp - 0x5c]
or edx, dword [ebp - 0x58]
je 0x10025b45
mov dword [ebp - 0x198], 1
jmp 0x10025b4f
mov dword [ebp - 0x198], 0
mov eax, dword [ebp - 0x194]
imul eax, dword [ebp - 0x198]
test eax, eax
je 0x10025bb7
movzx eax, word [ebp - 0x2c]
and eax, 0xa646
cdq
mov dword [0x10081178], eax
mov dword [0x1008117c], edx
cmp dword [0x10081114], 0
jne 0x10025b8a
mov dword [ebp - 0x19c], 1
jmp 0x10025b94
mov dword [ebp - 0x19c], 0
mov ecx, dword [ebp - 0x19c]
sub ecx, 0x60
jne 0x10025ba5
mov byte [ebp - 0x71], 1
jmp 0x10025ba9
mov byte [ebp - 0x71], 0
mov dl, byte [ebp - 0x71]
mov byte [ebp - 0x16], dl
mov al, byte [ebp - 0x16]
mov byte [str.Failedtogetdatabas], al
mov ecx, dword [ebp - 0xa4]
add ecx, 0x730
mov dword [ebp - 0x69c], ecx
movzx edx, byte [ebp - 0x15]
imul edx, dword [0x100811f0]
movzx eax, byte [ebp - 0x15]
sub eax, edx
mov byte [ebp - 0x15], al
mov ecx, dword [ebp - 0x60]
sub ecx, 0x4a
mov word [0x10081180], cx
mov edx, dword [ebp - 0xa4]
add edx, 0x707
mov dword [ebp - 0x370], edx
cmp dword [0x100811c8], 0
jne 0x10025c11
mov dword [ebp - 0x1a0], 1
jmp 0x10025c1b
mov dword [ebp - 0x1a0], 0
mov eax, dword [ebp - 0x64]
add eax, dword [ebp - 0x1a0]
jne 0x10025c32
mov dword [ebp - 0x1a4], 1
jmp 0x10025c3c
mov dword [ebp - 0x1a4], 0
mov ecx, dword [ebp - 0x1a4]
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x64]
add edx, 0x8e64
movzx eax, word [0x100811a8]
sub eax, edx
mov word [0x100811a8], ax
mov ecx, dword [ebp - 0xa4]
add ecx, 0x6d7
mov dword [ebp - 0x1a8], ecx
jmp 0x10025c80
imul edx, dword [ebp - 0x370], 0xc4
mov eax, dword [ebp - 0x1a8]
imul eax, dword [ebp - 0x1a8]
cmp edx, eax
je 0x10025f85
movsx ecx, byte [str.Failedtogetdatabas]
not ecx
mov word [0x100811b8], cx
movsx eax, byte [ebp - 0x11]
cdq
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
push esi
push ecx
push edx
push eax
call fcn.1005a880
mov edx, dword [0x10081100]
sub edx, eax
mov word [0x100811d8], dx
movzx eax, word [0x100811a8]
movzx ecx, word [ebp - 0x50]
imul eax, ecx
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x38]
cdq
mov edi, dword [0x10081190]
sub edi, eax
mov eax, dword [0x10081194]
sbb eax, edx
push eax
push edi
push esi
push ecx
call fcn.1005a880
mov word [0x100811b8], ax
mov ecx, dword [0x10081178]
mov edx, dword [0x1008117c]
mov eax, dword [0x10081150]
mov esi, dword [0x10081154]
mov dword [ebp - 0x398], ecx
mov dword [ebp - 0x394], edx
mov dword [ebp - 0x3a0], eax
mov dword [ebp - 0x39c], esi
mov ecx, dword [ebp - 0x394]
cmp ecx, dword [ebp - 0x39c]
jb 0x10025d96
ja 0x10025d54
mov edx, dword [ebp - 0x398]
cmp edx, dword [ebp - 0x3a0]
jbe 0x10025d96
movsx eax, word [0x100811dc]
test eax, eax
je 0x10025d6a
movsx ecx, word [0x10081110]
test ecx, ecx
jne 0x10025d96
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x3a8], edx
mov dword [ebp - 0x3a4], eax
mov ecx, dword [ebp - 0x3a8]
or ecx, dword [ebp - 0x3a4]
je 0x10025d96
mov dword [ebp - 0x1ac], 0
jmp 0x10025da0
mov dword [ebp - 0x1ac], 1
mov edx, dword [ebp - 0x1ac]
not edx
test edx, edx
je 0x10025f4c
mov dword [ebp - 0xa8], 0
jmp 0x10025dcb
mov eax, dword [ebp - 0xa8]
add eax, 2
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0x2ef
jge 0x10025f4a
push 0x16
call fcn.10037a60
add esp, 4
mov word [0x100811e0], ax
movsx ecx, word [0x100811e0]
test ecx, ecx
je 0x10025e93
movzx eax, byte [ebp - 0x15]
cdq
mov dword [ebp - 0x3b0], eax
mov dword [ebp - 0x3ac], edx
mov edx, dword [0x100810fc]
cmp edx, dword [ebp - 0x3ac]
jb 0x10025e57
ja 0x10025e28
mov eax, dword [0x100810f8]
cmp eax, dword [ebp - 0x3b0]
jb 0x10025e57
push 0
push 0x3e
mov ecx, dword [ebp - 0x58]
push ecx
mov edx, dword [ebp - 0x5c]
push edx
call fcn.1005a880
mov dword [0x10081178], eax
mov dword [0x1008117c], edx
movsx eax, byte [ebp - 0x14]
imul eax, eax, 0xd06ff4e
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
jmp 0x10025e8e
movzx ecx, byte [0x10081063]
movzx edx, byte [ebp - 0x16]
add ecx, edx
mov byte [0x10081063], cl
push 0
push 0x109334eb
mov eax, dword [0x10081194]
push eax
mov ecx, dword [0x10081190]
push ecx
call fcn.1005a880
mov dword [0x10081118], eax
mov dword [0x1008111c], edx
jmp 0x10025f36
movsx edx, byte [ebp - 0x25]
test edx, edx
je 0x10025f36
mov eax, dword [0x100811d0]
mov ecx, dword [0x100811d4]
mov dword [ebp - 0x3b8], eax
mov dword [ebp - 0x3b4], ecx
mov edx, dword [ebp - 0x3b8]
or edx, dword [ebp - 0x3b4]
je 0x10025edd
mov eax, dword [0x10081128]
mov ecx, dword [0x1008112c]
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xe8], ecx
jmp 0x10025eee
movsx eax, byte [ebp - 0x11]
cdq
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xe8], edx
mov edx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xe8]
mov dword [0x10081148], edx
mov dword [0x1008114c], eax
movsx ecx, byte [0x1008103b]
movsx edx, byte [0x100810b2]
sub ecx, edx
movsx eax, byte [0x1008103b]
sub eax, ecx
mov byte [0x1008103b], al
mov cx, word [ebp - 0x1c]
mov edx, 2
imul eax, edx, 0x28
mov word [eax + 0x1019a858], cx
mov ecx, dword [0x100811f0]
add ecx, 1
mov dword [0x100811f0], ecx
jmp 0x10025dbc
jmp 0x10025f7e
movzx edx, word [ebp - 0x24]
movsx eax, byte [0x1008108b]
cmp edx, eax
je 0x10025f7e
movzx ecx, byte [ebp - 0x12]
sub ecx, 0x9b
mov word [0x100811d8], cx
mov edx, dword [0x100811a4]
and edx, 0x76c6ef41
mov dword [0x100811a4], edx
xor eax, eax
jmp 0x100288d8
movzx eax, byte [0x1008104f]
test eax, eax
je 0x10025fa5
cmp dword [0x100811ac], 0
je 0x10025fa5
mov dword [ebp - 0x1b0], 1
jmp 0x10025faf
mov dword [ebp - 0x1b0], 0
mov ecx, dword [0x10081160]
mov edx, dword [0x10081164]
mov dword [ebp - 0x3c0], ecx
mov dword [ebp - 0x3bc], edx
cmp dword [ebp - 0x3bc], 0
ja 0x10025fe7
jb 0x10025fdb
cmp dword [ebp - 0x3c0], 0
ja 0x10025fe7
mov dword [ebp - 0x1b4], 1
jmp 0x10025ff1
mov dword [ebp - 0x1b4], 0
mov eax, dword [ebp - 0x1b0]
cmp eax, dword [ebp - 0x1b4]
je 0x100261a3
movzx ecx, word [ebp - 0x24]
movzx edx, word [ebp - 0x24]
cmp ecx, edx
jle 0x10026023
xor eax, eax
mov dword [ebp - 0x300], 1
mov dword [ebp - 0x2fc], eax
jmp 0x1002602e
xorps xmm0, xmm0
movlpd qword [ebp - 0x300], xmm0
mov ecx, dword [0x10081150]
mov edx, dword [0x10081154]
mov dword [ebp - 0x3d0], ecx
mov dword [ebp - 0x3cc], edx
mov eax, dword [ebp - 0x3cc]
cmp eax, dword [ebp - 0x2fc]
ja 0x10026070
jb 0x10026064
mov ecx, dword [ebp - 0x3d0]
cmp ecx, dword [ebp - 0x300]
jae 0x10026070
mov dword [ebp - 0x1c0], 1
jmp 0x1002607a
mov dword [ebp - 0x1c0], 0
movzx edx, byte [ebp - 0x15]
test edx, edx
jne 0x1002608e
mov dword [ebp - 0x1b8], 1
jmp 0x10026098
mov dword [ebp - 0x1b8], 0
mov eax, dword [ebp - 0x1b8]
cmp eax, dword [ebp - 0x60]
ja 0x100260af
mov dword [ebp - 0x1bc], 1
jmp 0x100260b9
mov dword [ebp - 0x1bc], 0
movzx ecx, word [ebp - 0x50]
not ecx
cmp ecx, dword [ebp - 0x1bc]
je 0x100260d3
mov dword [ebp - 0x1c4], 1
jmp 0x100260dd
mov dword [ebp - 0x1c4], 0
mov edx, dword [ebp - 0x1c0]
imul edx, dword [ebp - 0x1c4]
test edx, edx
je 0x10026144
mov eax, dword [0x100811b0]
mov ecx, dword [0x100811b4]
sub eax, dword [ebp - 0x5c]
sbb ecx, dword [ebp - 0x58]
mov edx, dword [0x100811b0]
mov esi, dword [0x100811b4]
or edx, eax
or esi, ecx
mov dword [0x100811b0], edx
mov dword [0x100811b4], esi
mov ax, word [0x10081cb8]
mov word [0x10081140], ax
mov ecx, dword [0x10081160]
mov edx, dword [0x10081164]
sub ecx, 0xc9
sbb edx, 0
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], edx
jmp 0x100261a3
movsx eax, word [ebp - 0x1c]
test eax, eax
jne 0x10026168
movzx ecx, word [0x100811a8]
test ecx, ecx
jne 0x10026168
movzx edx, byte [0x1008104f]
test edx, edx
je 0x100261a3
cmp dword [ebp - 0x3c], 0
je 0x100261a3
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x6a0], ecx
add eax, 0x391b5b2a
mov word [ebp - 0x20], ax
movzx eax, word [0x10081158]
shl eax, 5
cdq
mov dword [0x100811e8], eax
mov dword [0x100811ec], edx
movzx edx, word [ebp - 0x2c]
xor edx, dword [0x1008113c]
mov dword [0x1008113c], edx
mov eax, dword [0x10081120]
push eax
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov word [0x10081158], ax
movzx ecx, word [0x10081158]
test ecx, ecx
jl 0x100261cc
mov dword [ebp - 0x1c8], 1
jmp 0x100261d6
mov dword [ebp - 0x1c8], 0
movzx edx, word [0x10081158]
cmp edx, 0x53
jl 0x100261ee
mov dword [ebp - 0x1cc], 1
jmp 0x100261f8
mov dword [ebp - 0x1cc], 0
mov eax, dword [ebp - 0x1c8]
cmp eax, dword [ebp - 0x1cc]
jle 0x10026234
mov ecx, 2
imul edx, ecx, 0x1a
mov ax, word [edx + 0x100b4d38]
mov word [0x100811d8], ax
mov ecx, dword [0x10081108]
sub ecx, 0x5b508568
mov byte [ebp - 0x12], cl
movsx edx, byte [ebp - 0x13]
shl edx, 6
mov byte [ebp - 0x13], dl
mov eax, dword [0x10081148]
mov ecx, dword [0x1008114c]
mov dword [ebp - 0x3d8], eax
mov dword [ebp - 0x3d4], ecx
mov edx, dword [ebp - 0x3d8]
cmp edx, dword [0x10081198]
jne 0x100262fd
mov eax, dword [ebp - 0x3d4]
cmp eax, dword [0x1008119c]
jne 0x100262fd
mov dword [ebp - 0xac], 0x17e
jmp 0x1002628a
mov ecx, dword [ebp - 0xac]
sub ecx, 1
mov dword [ebp - 0xac], ecx
cmp dword [ebp - 0xac], 0
jle 0x100262fb
movsx eax, word [0x100811a0]
and eax, 0xcb
cdq
mov dword [0x10081178], eax
mov dword [0x1008117c], edx
mov edx, 1
imul eax, edx, 0xb9a1
movzx ecx, byte [eax + 0x100a1788]
mov dword [0x10081114], ecx
imul eax, dword [0x100811c8], 0x3c15
cdq
mov ecx, dword [str.5U_]
mov esi, dword [0x100811c4]
add ecx, eax
adc esi, edx
mov dword [str.5U_], ecx
mov dword [0x100811c4], esi
mov dl, byte [0x1008104f]
add dl, 1
mov byte [0x1008104f], dl
jmp 0x1002627b
jmp 0x10026345
movsx eax, word [0x100811dc]
cdq
mov ecx, eax
mov edx, dword [0x10081168]
mov eax, dword [0x1008116c]
mov dword [ebp - 0x6a4], eax
sub ecx, edx
movsx eax, word [0x100811dc]
cdq
add eax, ecx
mov word [0x100811dc], ax
movzx eax, word [ebp - 0x24]
cdq
add eax, 0xb17cc6a1
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x10081cb8]
xor edx, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], edx
mov al, byte [str.Failedtogetdatabas]
add al, 1
mov byte [str.Failedtogetdatabas], al
movsx ecx, byte [0x1008108b]
sub ecx, dword [0x10081138]
jne 0x1002636c
mov dword [ebp - 0x1d0], 1
jmp 0x10026376
mov dword [ebp - 0x1d0], 0
movsx eax, word [0x100811b8]
movzx edx, word [ebp - 0x24]
not edx
sub eax, edx
add eax, dword [ebp - 0x1d0]
cdq
mov dword [0x10081150], eax
mov dword [0x10081154], edx
movsx eax, byte [ebp - 0x11]
movsx ecx, word [ebp - 0x20]
lea edx, [ecx + eax + 0x270571dc]
mov word [ebp - 0x20], dx
mov eax, dword [ebp - 0x1d4]
imul eax, dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x374]
imul ecx, dword [ebp - 0x378]
imul eax, ecx
cmp eax, 0x24f
je 0x100264c2
imul edx, dword [ebp - 0x60], 0xf5
mov word [0x10081110], dx
mov dword [0x1008110c], 2
mov eax, dword [0x10081168]
mov ecx, dword [0x1008116c]
mov edx, dword [0x10081130]
mov esi, dword [0x10081134]
push esi
push edx
push ecx
push eax
call fcn.1005a880
mov dword [0x10081168], eax
mov dword [0x1008116c], edx
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
sub eax, 0x56
sbb ecx, 0
mov edx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
add edx, eax
adc esi, ecx
not edx
not esi
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], esi
movsx eax, word [0x10081110]
cdq
sub eax, 0x9e3373b2
sbb edx, 0x99abb
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
push 0x104
lea eax, [ebp - 0x1204]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
test eax, eax
jne 0x100264c2
movsx ecx, word [0x10081180]
imul ecx, dword [ebp - 0x64]
movsx edx, word [0x10081180]
add edx, ecx
mov word [0x10081180], dx
movsx eax, byte [ebp - 0x14]
movsx ecx, byte [ebp - 0x13]
add eax, ecx
movsx edx, byte [ebp - 0x14]
add edx, eax
mov byte [ebp - 0x14], dl
mov eax, dword [0x100811a4]
sub eax, dword [0x100811a4]
add eax, 0x2d746bdb
not eax
mov byte [ebp - 0x12], al
mov cl, byte [0x100810b2]
mov edx, 1
imul eax, edx, 9
mov byte [eax + 0x1019a558], cl
xor eax, eax
jmp 0x100288d8
xor ecx, ecx
mov byte [ebp - 0x75], cl
push 0
push 0
lea edx, [ebp - 0x760]
push edx
lea ecx, [ebp - 0x75]
call fcn.10002d10
mov ecx, eax
call fcn.10031c20
push eax
lea eax, [ebp - 0x1204]
push eax
lea ecx, [ebp - 0x140c]
push ecx
call fcn.10006430
add esp, 0x14
xor edx, edx
mov byte [ebp - 0x76], dl
push 0
push 0
lea eax, [ebp - 0x7b2]
push eax
lea ecx, [ebp - 0x76]
call fcn.10002e50
mov ecx, eax
call fcn.10031e20
push eax
lea ecx, [ebp - 0x140c]
push ecx
lea edx, [ebp - 0xdf4]
push edx
call fcn.10006430
add esp, 0x14
movzx eax, byte [0x10081063]
movsx ecx, byte [0x1008108b]
cmp eax, ecx
jl 0x1002654c
mov dword [ebp - 0x1d8], 1
jmp 0x10026556
mov dword [ebp - 0x1d8], 0
movzx edx, byte [0x10081063]
cmp edx, 0x55
jl 0x1002656e
mov dword [ebp - 0x1dc], 1
jmp 0x10026578
mov dword [ebp - 0x1dc], 0
mov eax, dword [ebp - 0x1d8]
cmp eax, dword [ebp - 0x1dc]
jne 0x100267e3
push 0
call fcn.10034cc0
add esp, 4
mov word [ebp - 0x2c], ax
movzx ecx, word [ebp - 0x2c]
test ecx, ecx
jge 0x10026798
push 0
call fcn.10037a60
add esp, 4
xor edx, edx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x3e0], eax
mov dword [ebp - 0x3dc], ecx
cmp dword [ebp - 0x3dc], 0
ja 0x100265da
cmp dword [ebp - 0x3e0], 0
jb 0x100265e6
mov dword [ebp - 0x1e0], 1
jmp 0x100265f0
mov dword [ebp - 0x1e0], 0
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x3e8], edx
mov dword [ebp - 0x3e4], eax
cmp dword [ebp - 0x3e4], 0
ja 0x10026614
cmp dword [ebp - 0x3e8], 0x22
jb 0x10026620
mov dword [ebp - 0x1e4], 1
jmp 0x1002662a
mov dword [ebp - 0x1e4], 0
mov ecx, dword [ebp - 0x1e0]
cmp ecx, dword [ebp - 0x1e4]
jle 0x100266f0
cmp dword [ebp - 0x70], 0
je 0x1002667a
movsx eax, word [0x10081140]
sub eax, 0x30979989
cdq
mov dword [0x100810f8], eax
mov dword [0x100810fc], edx
movsx eax, byte [ebp - 0x11]
add eax, 0x98
cdq
mov dword [0x100810f8], eax
mov dword [0x100810fc], edx
mov edx, 0xffffcd9a
mov word [ebp - 0x1c], dx
jmp 0x100266eb
movsx eax, byte [0x100810b2]
not eax
test eax, eax
jne 0x1002669b
movsx ecx, byte [ebp - 0x14]
test ecx, ecx
jne 0x1002669b
mov dword [ebp - 0x1e8], 0
jmp 0x100266a5
mov dword [ebp - 0x1e8], 1
movsx edx, word [ebp - 0x20]
not edx
cmp edx, dword [ebp - 0x1e8]
je 0x100266eb
movsx eax, word [0x10081180]
shl eax, 3
mov dword [ebp - 0x38], eax
mov cx, word [0x100811a0]
add cx, 1
mov word [0x100811a0], cx
movsx edx, word [0x100811b8]
mov eax, dword [0x10081170]
sub eax, edx
and eax, dword [0x10081170]
mov dword [0x10081170], eax
jmp 0x10026796
movsx ecx, word [0x100811a0]
not ecx
test ecx, ecx
jne 0x1002674c
movsx eax, word [ebp - 0x1c]
not eax
cdq
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
mov dword [ebp - 0x3f0], eax
mov dword [ebp - 0x3ec], edx
mov dword [ebp - 0x3f8], ecx
mov dword [ebp - 0x3f4], esi
mov edx, dword [ebp - 0x3ec]
cmp edx, dword [ebp - 0x3f4]
jg 0x1002674c
jl 0x10026740
mov eax, dword [ebp - 0x3f0]
cmp eax, dword [ebp - 0x3f8]
jae 0x1002674c
mov dword [ebp - 0x1ec], 0
jmp 0x10026756
mov dword [ebp - 0x1ec], 1
mov ecx, dword [ebp - 0x1ec]
not ecx
test ecx, ecx
je 0x10026796
movsx edx, word [ebp - 0x1c]
xor edx, 0xf7
mov dword [ebp - 0x70], edx
mov al, byte [0x10081138]
mov byte [0x10081027], al
mov ecx, dword [0x10081150]
mov edx, dword [0x10081154]
push 0
push 0x1a008ed
push edx
push ecx
call fcn.1005a880
mov dword [ebp - 0x3c], eax
jmp 0x100267de
mov eax, dword [0x10081120]
or eax, dword [0x10081124]
jne 0x100267de
movsx ecx, word [0x1008115c]
imul edx, ecx, 0x5be8fdff
movsx eax, byte [0x1008103b]
imul eax, edx
mov byte [0x1008103b], al
mov ecx, dword [ebp - 0x54]
and ecx, 0xa60e38
mov byte [ebp - 0x15], cl
movsx edx, byte [ebp - 0x25]
movzx eax, byte [0x10081027]
imul edx, eax
mov byte [ebp - 0x25], dl
jmp 0x10026891
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x400], ecx
mov dword [ebp - 0x3fc], edx
mov eax, dword [ebp - 0x400]
or eax, dword [ebp - 0x3fc]
je 0x10026817
mov ecx, dword [ebp - 0x6c]
or ecx, dword [ebp - 0x68]
je 0x10026817
mov dword [ebp - 0x1f4], 1
jmp 0x10026821
mov dword [ebp - 0x1f4], 0
mov edx, dword [ebp - 0x6c]
or edx, dword [ebp - 0x68]
jne 0x10026835
mov dword [ebp - 0x1f0], 1
jmp 0x1002683f
mov dword [ebp - 0x1f0], 0
movzx eax, byte [0x10081063]
cmp eax, dword [ebp - 0x1f0]
jg 0x1002685a
mov dword [ebp - 0x1f8], 1
jmp 0x10026864
mov dword [ebp - 0x1f8], 0
mov ecx, dword [ebp - 0x1f4]
cmp ecx, dword [ebp - 0x1f8]
jne 0x10026891
mov edx, dword [0x100811f0]
add edx, 0xd5965ac9
mov dword [ebp - 0x38], edx
movsx eax, byte [ebp - 0x13]
xor eax, 0x1b41
cdq
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
jmp 0x1002689d
jmp 0x100268b8
jmp 0x100268ce
jmp 0x100268f3
push 0
lea eax, [ebp - 0x9e4]
push eax
lea ecx, [ebp - 0x1614]
push ecx
lea edx, [ebp - 0x181c]
push edx
lea eax, [ebp - 0xbec]
push eax
call fcn.10006430
add esp, 0x14
movzx eax, byte [0x1008104f]
not eax
cdq
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
push edx
push eax
push esi
push ecx
call fcn.1005a880
mov word [0x100811a0], ax
mov edx, dword [0x10081150]
mov eax, dword [0x10081154]
mov dword [ebp - 0x408], edx
mov dword [ebp - 0x404], eax
mov ecx, dword [ebp - 0x408]
or ecx, dword [ebp - 0x404]
jne 0x10026968
mov edx, 1
mov word [ebp - 0x7c], dx
jmp 0x1002696e
xor eax, eax
mov word [ebp - 0x7c], ax
mov cx, word [ebp - 0x7c]
mov word [ebp - 0x24], cx
mov dword [ebp - 0x3c], 0x5e
push 0
lea edx, [ebp - 0xbec]
push edx
push 0
call dword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
test eax, eax
je 0x100269a3
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x100287a9
mov eax, dword [ebp - 0x5c]
sub eax, 0x5cba5131
mov byte [ebp - 0x16], al
movsx ecx, byte [ebp - 0x14]
mov edx, dword [ebp - 0x70]
xor edx, 0xb7b9
add ecx, edx
mov eax, 0x68
sub eax, dword [0x10081138]
sub eax, dword [0x10081170]
add ecx, eax
xor edx, edx
mov dword [0x10081150], ecx
mov dword [0x10081154], edx
mov eax, 4
shl eax, 0
mov ecx, dword [eax + 0x100982d8]
xor edx, edx
mov dword [str.5U_], ecx
mov dword [0x100811c4], edx
mov dword [ebp - 0x38], 0
mov dword [0x100811a4], 0x8108
mov dword [0x1008110c], 0x1340f65f
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x37c], eax
cmp dword [ebp - 0x37c], 0
je 0x10026a29
jmp 0x10026a56
mov cl, byte [0x10081cb8]
mov byte [ebp - 0x11], cl
movzx edx, byte [ebp - 0x16]
movzx eax, byte [0x10081027]
sub edx, eax
mov word [0x10081158], dx
movzx eax, byte [0x1008108a]
cdq
sub eax, dword [ebp - 0x5c]
mov byte [0x1008108a], al
mov dword [ebp - 4], 8
movsx ecx, word [ebp - 0x1c]
test ecx, ecx
je 0x10026a7b
movsx eax, word [0x10081180]
cdq
mov dword [ebp - 0x308], eax
mov dword [ebp - 0x304], edx
jmp 0x10026a8d
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x308], edx
mov dword [ebp - 0x304], eax
mov ecx, dword [ebp - 0x308]
mov dword [ebp - 0x54], ecx
movsx edx, byte [ebp - 0x11]
add edx, 0x95
mov word [ebp - 0x24], dx
jmp 0x10026ad3
mov dword [ebp - 4], 0xffffffff
jmp 0x10026ae3
lea ecx, [ebp - 0x9e4]
push ecx
push str._s.ocx
lea edx, [ebp - 0x1a24]
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
mov dword [ebp - 4], 0xa
mov eax, dword [0x100811e8]
mov ecx, dword [0x100811ec]
mov dword [ebp - 0x410], eax
mov dword [ebp - 0x40c], ecx
mov edx, dword [ebp - 0x40c]
cmp edx, dword [0x10081124]
ja 0x10026c1d
jb 0x10026b43
mov eax, dword [ebp - 0x410]
cmp eax, dword [0x10081120]
ja 0x10026c1d
mov ecx, dword [0x10081114]
cmp dword [0x10081170], ecx
jbe 0x10026b5d
mov dword [ebp - 0x1fc], 1
jmp 0x10026b67
mov dword [ebp - 0x1fc], 0
cmp dword [0x10081170], 0x2e
jbe 0x10026b7c
mov dword [ebp - 0x200], 1
jmp 0x10026b86
mov dword [ebp - 0x200], 0
mov edx, dword [ebp - 0x1fc]
cmp edx, dword [ebp - 0x200]
jle 0x10026bda
mov eax, 0x6437
mov word [0x100811dc], ax
mov ecx, dword [0x10081170]
sub ecx, 0x5de0
xor edx, edx
mov dword [0x10081188], ecx
mov dword [0x1008118c], edx
movsx eax, word [0x10081110]
cdq
add eax, dword [0x10081120]
adc edx, dword [0x10081124]
mov dword [0x10081120], eax
mov dword [0x10081124], edx
jmp 0x10026c18
cmp dword [0x10081198], 0xffff5ad2
jne 0x10026bfb
cmp dword [0x1008119c], 0xffffffff
jne 0x10026bfb
mov dword [ebp - 0x204], 1
jmp 0x10026c05
mov dword [ebp - 0x204], 0
movsx eax, word [ebp - 0x1c]
cmp eax, dword [ebp - 0x204]
jl 0x10026c18
mov dword [ebp - 0x38], 0xda91816d
jmp 0x10026cde
cmp dword [0x1008110c], 0
jne 0x10026c32
mov dword [ebp - 0x208], 1
jmp 0x10026c3c
mov dword [ebp - 0x208], 0
movsx ecx, byte [ebp - 0x11]
cmp dword [ebp - 0x208], ecx
jge 0x10026c73
movsx edx, word [0x1008115c]
imul eax, edx, 0xf95e93c7
mov byte [0x1008103b], al
mov ecx, dword [ebp - 0x38]
sub ecx, 0x9a
mov edx, dword [0x10081108]
shl edx, cl
mov dword [0x10081108], edx
jmp 0x10026cde
mov eax, dword [0x10081198]
or eax, dword [0x1008119c]
je 0x10026cde
mov ecx, dword [ebp - 0x64]
shr ecx, 3
xor edx, edx
mov dword [0x100811b0], ecx
mov dword [0x100811b4], edx
movsx eax, byte [ebp - 0x25]
cdq
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
push esi
push ecx
push edx
push eax
call fcn.1005a880
mov dword [ebp - 0x418], eax
mov dword [ebp - 0x414], edx
mov edx, dword [ebp - 0x418]
or edx, dword [ebp - 0x414]
jne 0x10026ccd
mov eax, 1
mov word [ebp - 0x7a], ax
jmp 0x10026cd3
xor ecx, ecx
mov word [ebp - 0x7a], cx
mov dx, word [ebp - 0x7a]
mov word [0x100811dc], dx
jmp 0x10026d2c
mov dword [ebp - 4], 0xffffffff
jmp 0x10026d3c
xor edx, edx
mov dword [0x10081188], 0x4d8941d9
mov dword [0x1008118c], edx
movsx eax, word [0x10081180]
movsx ecx, byte [str.Failedtogetdatabas]
lea edx, [ecx + eax + 0x3ea4]
mov byte [str.Failedtogetdatabas], dl
push 0
push 0
lea eax, [ebp - 0x1a24]
push eax
lea ecx, [ebp - 0xbec]
push ecx
lea edx, [ebp - 0xffc]
push edx
call fcn.10006430
add esp, 0x14
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov word [0x10081158], ax
mov eax, dword [0x10081120]
or eax, dword [0x10081124]
jne 0x10026daf
mov dword [ebp - 0x20c], 1
jmp 0x10026db9
mov dword [ebp - 0x20c], 0
movsx ecx, byte [ebp - 0x11]
sub ecx, dword [ebp - 0x20c]
je 0x10026dd7
cmp dword [ebp - 0x38], 0
je 0x10026dd7
mov dword [ebp - 0x210], 1
jmp 0x10026de1
mov dword [ebp - 0x210], 0
mov edx, dword [ebp - 0x210]
not edx
movsx eax, byte [ebp - 0x25]
cmp edx, eax
jge 0x10026dfd
mov dword [ebp - 0x214], 1
jmp 0x10026e07
mov dword [ebp - 0x214], 0
mov ecx, dword [ebp - 0x214]
not ecx
test ecx, ecx
je 0x10026f9a
mov dword [ebp - 0xb0], 0x42
movsx eax, word [0x1008115c]
cdq
sub eax, 0x2555dc7c
mov dword [ebp - 0x38], eax
movsx eax, word [ebp - 0x1c]
cdq
mov ecx, eax
mov edx, dword [0x100811e8]
mov eax, dword [0x100811ec]
mov dword [ebp - 0x6a8], eax
sub ecx, edx
movsx eax, word [ebp - 0x1c]
cdq
sub eax, ecx
mov word [ebp - 0x1c], ax
movzx eax, byte [ebp - 0x12]
xor eax, 0x507b089b
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
cmp dword [ebp - 0x54], 0
jne 0x10026e78
mov dword [ebp - 0x220], 1
jmp 0x10026e82
mov dword [ebp - 0x220], 0
mov ecx, dword [0x100811d0]
mov edx, dword [0x100811d4]
mov dword [ebp - 0x420], ecx
mov dword [ebp - 0x41c], edx
mov eax, dword [ebp - 0x420]
or eax, dword [ebp - 0x41c]
jne 0x10026eb4
mov dword [ebp - 0x218], 1
jmp 0x10026ebe
mov dword [ebp - 0x218], 0
movzx ecx, byte [ebp - 0x12]
test ecx, ecx
jne 0x10026ed2
mov dword [ebp - 0x21c], 1
jmp 0x10026edc
mov dword [ebp - 0x21c], 0
mov edx, dword [ebp - 0x218]
sub edx, dword [ebp - 0x21c]
imul edx, dword [ebp - 0x220]
test edx, edx
jne 0x10026f07
xor eax, eax
mov dword [ebp - 0x430], 1
mov dword [ebp - 0x42c], eax
jmp 0x10026f12
xorps xmm0, xmm0
movlpd qword [ebp - 0x430], xmm0
movsx ecx, word [0x100811dc]
test ecx, ecx
jne 0x10026f31
xor edx, edx
mov dword [ebp - 0x428], 1
mov dword [ebp - 0x424], edx
jmp 0x10026f3c
xorps xmm0, xmm0
movlpd qword [ebp - 0x428], xmm0
mov eax, dword [ebp - 0x3c]
cdq
mov ecx, dword [0x10081120]
sub ecx, eax
sub ecx, dword [ebp - 0x428]
xor ecx, dword [ebp - 0x430]
mov byte [ebp - 0x15], cl
mov edx, dword [0x1008110c]
imul edx, dword [0x10081138]
mov dword [0x10081138], edx
movsx eax, byte [ebp - 0x11]
mov ecx, dword [ebp - 0x60]
sub ecx, eax
and ecx, dword [ebp - 0x60]
mov dword [ebp - 0x60], ecx
mov edx, dword [ebp - 0xb0]
add edx, 1
mov dword [ebp - 0xb0], edx
cmp dword [ebp - 0xb0], 0x91b
jl 0x10026e66
jmp 0x10026fe1
imul eax, dword [ebp - 0x38], 0x7b
mov byte [0x10081027], al
mov ecx, dword [0x100811a4]
shr ecx, 7
mov dword [ebp - 0x3c], ecx
movzx eax, word [ebp - 0x24]
cdq
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
not ecx
not esi
push esi
push ecx
push edx
push eax
call fcn.1005a880
not eax
not edx
mov ecx, dword [0x100811d0]
mov esi, dword [0x100811d4]
xor ecx, eax
xor esi, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], esi
mov edx, 0x36e
sub edx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0x224]
add eax, dword [ebp - 0x224]
add edx, eax
mov ecx, dword [ebp - 0x228]
imul ecx, dword [ebp - 0x228]
mov eax, dword [ebp - 0xb4]
imul eax, dword [ebp - 0xb4]
or ecx, eax
cmp edx, ecx
je 0x100287a9
movsx ecx, byte [ebp - 0x11]
test ecx, ecx
jne 0x10027032
mov dword [ebp - 0x22c], 1
jmp 0x1002703c
mov dword [ebp - 0x22c], 0
mov edx, dword [0x10081148]
mov eax, dword [0x1008114c]
mov dword [ebp - 0x438], edx
mov dword [ebp - 0x434], eax
mov ecx, dword [ebp - 0x438]
or ecx, dword [ebp - 0x434]
jne 0x1002706d
mov dword [ebp - 0x230], 1
jmp 0x10027077
mov dword [ebp - 0x230], 0
mov edx, dword [ebp - 0x22c]
sub edx, dword [ebp - 0x230]
mov byte [ebp - 0x11], dl
mov eax, dword [0x10081100]
add eax, 0x112a
mov dword [0x1008113c], eax
movsx ecx, word [0x10081180]
cmp dword [0x100811c8], ecx
jle 0x100270b0
mov dword [ebp - 0x234], 1
jmp 0x100270ba
mov dword [ebp - 0x234], 0
cmp dword [0x100811c8], 0xe
jle 0x100270cf
mov dword [ebp - 0x238], 1
jmp 0x100270d9
mov dword [ebp - 0x238], 0
mov edx, dword [ebp - 0x234]
cmp edx, dword [ebp - 0x238]
jge 0x100270fc
movsx eax, byte [ebp - 0x25]
push eax
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov byte [0x1008108b], al
jmp 0x1002730a
mov ecx, dword [0x10081168]
mov esi, dword [0x1008116c]
movsx eax, byte [0x100810b2]
cdq
mov dword [ebp - 0x440], ecx
mov dword [ebp - 0x43c], esi
mov dword [ebp - 0x448], eax
mov dword [ebp - 0x444], edx
mov edx, dword [ebp - 0x43c]
cmp edx, dword [ebp - 0x444]
jg 0x10027170
jl 0x10027146
mov eax, dword [ebp - 0x440]
cmp eax, dword [ebp - 0x448]
ja 0x10027170
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x6ac], edx
sub ecx, 0x6897
mov dword [ebp - 0x54], ecx
mov eax, dword [ebp - 0x54]
xor ecx, ecx
mov dword [0x10081178], eax
mov dword [0x1008117c], ecx
jmp 0x1002730a
mov edx, dword [0x100811b0]
mov eax, dword [0x100811b4]
mov dword [ebp - 0x450], edx
mov dword [ebp - 0x44c], eax
mov ecx, dword [ebp - 0x450]
or ecx, dword [ebp - 0x44c]
je 0x10027212
mov edx, dword [str.5U_]
mov eax, dword [0x100811c4]
mov dword [ebp - 0x6b0], eax
sub edx, 0xc723ea99
mov byte [ebp - 0x14], dl
movsx ecx, word [ebp - 0x20]
test ecx, ecx
jne 0x100271cb
xor edx, edx
mov dword [ebp - 0x318], 1
mov dword [ebp - 0x314], edx
jmp 0x100271d6
xorps xmm0, xmm0
movlpd qword [ebp - 0x318], xmm0
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
add ecx, dword [ebp - 0x318]
adc esi, dword [ebp - 0x314]
mov edx, dword [ebp - 0x64]
and edx, 0xba
not edx
xor eax, eax
sub ecx, edx
sbb esi, eax
movzx eax, byte [0x10081063]
cdq
push edx
push eax
push esi
push ecx
call fcn.1005a880
mov dword [ebp - 0x60], eax
jmp 0x1002730a
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x458], ecx
mov dword [ebp - 0x454], edx
mov eax, dword [ebp - 0x458]
or eax, dword [ebp - 0x454]
jne 0x1002723e
movsx ecx, byte [ebp - 0x11]
test ecx, ecx
je 0x1002730a
cmp dword [ebp - 0x38], 0
je 0x1002730a
movsx edx, byte [ebp - 0x13]
sub edx, 0x9116
movsx eax, word [0x100811dc]
imul edx, eax
test edx, edx
jne 0x10027274
xor ecx, ecx
mov dword [ebp - 0x320], 1
mov dword [ebp - 0x31c], ecx
jmp 0x1002727f
xorps xmm0, xmm0
movlpd qword [ebp - 0x320], xmm0
mov edx, dword [ebp - 0x320]
mov eax, dword [ebp - 0x31c]
mov dword [0x10081148], edx
mov dword [0x1008114c], eax
movsx eax, byte [0x100810b2]
cdq
mov ecx, eax
mov edx, dword [0x100811e8]
mov eax, dword [0x100811ec]
mov dword [ebp - 0x6b4], eax
sub ecx, edx
not ecx
mov eax, dword [0x1008113c]
cdq
and ecx, eax
mov word [ebp - 0x2c], cx
cmp dword [0x10081108], 0
jne 0x100272d6
mov dword [ebp - 0x23c], 1
jmp 0x100272e0
mov dword [ebp - 0x23c], 0
mov ecx, dword [0x100811d0]
mov esi, dword [0x100811d4]
not ecx
not esi
xor edx, edx
add ecx, dword [ebp - 0x60]
adc esi, edx
mov eax, dword [ebp - 0x23c]
not eax
cdq
add ecx, eax
adc esi, edx
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x58], esi
mov eax, dword [0x10081cb8]
mov dword [ebp - 0x84], eax
mov byte [ebp - 0x11], 3
mov cx, word [ebp - 0x20]
mov edx, 1
imul eax, edx, 0x241e
mov byte [eax + 0x102a77c8], cl
movsx ecx, byte [ebp - 0x11]
mov dword [ebp - 0x240], ecx
cmp dword [ebp - 0x240], 3
ja case.default.0x1002734b
mov edx, dword [ebp - 0x240]
jmp dword [edx*4 + 0x10028900]
movzx eax, word [ebp - 0x2c]
cdq
add eax, 0x2d442316
adc edx, 0x1d988
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
imul eax, dword [0x1008110c], 0xf136
mov ecx, dword [0x10081108]
sub ecx, eax
mov dword [0x10081108], ecx
jmp case.default.0x1002734b
movzx edx, byte [0x1008108a]
sub edx, dword [0x100811a4]
mov byte [0x1008108a], dl
jmp case.default.0x1002734b
movzx eax, byte [ebp - 0x12]
movsx ecx, word [0x1008115c]
add eax, ecx
movzx edx, byte [ebp - 0x12]
add edx, eax
mov byte [ebp - 0x12], dl
movsx eax, word [0x10081110]
test eax, eax
jne 0x100273ca
mov dword [ebp - 0x244], 1
jmp 0x100273d4
mov dword [ebp - 0x244], 0
cmp dword [0x100811f0], 0
jne 0x100273e9
mov dword [ebp - 0x2a0], 1
jmp 0x100273f3
mov dword [ebp - 0x2a0], 0
movzx ecx, word [0x10081158]
add ecx, dword [ebp - 0x2a0]
not ecx
movsx edx, byte [ebp - 0x11]
sub ecx, edx
jne 0x10027416
mov dword [ebp - 0x248], 1
jmp 0x10027420
mov dword [ebp - 0x248], 0
mov eax, dword [0x1008110c]
or eax, dword [ebp - 0x54]
movsx ecx, word [0x10081180]
mov edx, dword [ebp - 0x244]
sub edx, ecx
add eax, dword [ebp - 0x248]
add edx, eax
xor eax, eax
mov dword [0x10081130], edx
mov dword [0x10081134], eax
mov cx, word [0x10081cb8]
mov word [0x1008115c], cx
jmp case.default.0x1002734b
mov edx, dword [ebp - 0x54]
mov eax, dword [0x10081160]
mov ecx, dword [0x10081164]
mov dword [ebp - 0x6b8], ecx
sub edx, eax
mov dword [ebp - 0x54], edx
mov edx, dword [0x10081148]
mov eax, dword [0x1008114c]
mov dword [ebp - 0x6bc], eax
mov ecx, 1
imul eax, ecx, 0x14
mov byte [eax + 0x102a7790], dl
mov ecx, dword [ebp - 0x84]
add ecx, 0x4ba
mov dword [ebp - 0x6c0], ecx
mov dword [ebp - 0x64], 3
movzx eax, word [ebp - 0x24]
not eax
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov edx, dword [0x10081150]
mov eax, dword [0x10081154]
add edx, 1
adc eax, 0
mov dword [0x10081150], edx
mov dword [0x10081154], eax
movsx eax, word [0x10081184]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [0x10081164]
add ecx, dword [0x10081160]
adc esi, edx
movsx eax, word [0x10081184]
cdq
push esi
push ecx
push edx
push eax
call fcn.1005a880
mov word [0x10081184], ax
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x24c], eax
cmp dword [ebp - 0x24c], 3
ja case.default.0x10027523
mov ecx, dword [ebp - 0x24c]
jmp dword [ecx*4 + 0x10028910]
xor edx, edx
mov dword [0x10081188], 4
mov dword [0x1008118c], edx
movsx eax, byte [ebp - 0x13]
cdq
push 0x478bf
push 0x6fa89619
push edx
push eax
call fcn.1005a880
mov byte [0x1008108b], al
jmp case.default.0x10027523
mov eax, dword [ebp - 0x70]
and eax, 0x6d
xor ecx, ecx
mov dword [0x10081160], eax
mov dword [0x10081164], ecx
movsx edx, word [0x10081180]
add edx, 0x637baf9a
mov byte [ebp - 0x11], dl
mov eax, dword [ebp - 0x38]
cdq
sub eax, 0x8218c563
mov word [0x100811dc], ax
jmp case.default.0x10027523
movzx eax, word [0x10081158]
imul eax, eax, 0x8a5e
cdq
mov ecx, dword [0x10081178]
mov esi, dword [0x1008117c]
push edx
push eax
push esi
push ecx
call fcn.1005a880
mov dword [0x10081178], eax
mov dword [0x1008117c], edx
movsx eax, word [0x100811b8]
cdq
mov ecx, dword [0x10081178]
mov esi, dword [0x1008117c]
push esi
push ecx
push edx
push eax
call fcn.1005a880
mov ecx, eax
movsx eax, word [0x100811b8]
cdq
sub eax, ecx
mov word [0x100811b8], ax
jmp case.default.0x10027523
mov edx, dword [ebp - 0x38]
imul edx, dword [0x10081170]
mov dword [ebp - 0x38], edx
movsx eax, word [0x10081184]
test eax, eax
jne 0x10027619
mov dword [ebp - 0x250], 1
jmp 0x10027623
mov dword [ebp - 0x250], 0
movzx ecx, byte [0x1008108a]
movsx edx, word [ebp - 0x1c]
add ecx, edx
jne 0x1002763e
mov dword [ebp - 0x254], 1
jmp 0x10027648
mov dword [ebp - 0x254], 0
mov eax, dword [ebp - 0x250]
sub eax, dword [ebp - 0x254]
cdq
mov ecx, eax
mov esi, edx
movsx eax, byte [0x1008103b]
movsx edx, byte [ebp - 0x13]
sub eax, edx
not eax
cdq
mov edi, dword [ebp - 0x44]
mov ebx, dword [ebp - 0x40]
add edi, 0x2b2f
adc ebx, 0
sub eax, edi
sbb edx, ebx
add ecx, eax
adc esi, edx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], esi
mov eax, dword [ebp - 0x84]
add eax, 0x91f5
mov dword [ebp - 0x380], eax
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x6c4], eax
add ecx, edx
mov edx, dword [ebp - 0x60]
add edx, ecx
mov dword [ebp - 0x60], edx
mov eax, dword [0x10081cb8]
xor ecx, ecx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x84]
add edx, 0x4122
mov dword [ebp - 0x6c8], edx
mov eax, dword [0x10081150]
mov edx, dword [0x10081154]
mov cl, 5
call fcn.1005a990
mov word [0x100811b8], ax
mov dword [ebp - 0x64], 0xf42d56c8
movsx eax, byte [0x1008108b]
movzx ecx, word [0x100811a8]
add eax, ecx
mov byte [0x1008108b], al
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
add edx, dword [ebp - 0x34]
adc eax, ecx
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
add ecx, edx
adc esi, eax
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], esi
movsx eax, byte [0x100810b2]
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
movzx edx, word [ebp - 0x50]
sub edx, 0x74fd2bb6
mov word [ebp - 0x1c], dx
imul eax, dword [ebp - 0x380], 0xab
mov ecx, 0x617eac
sub ecx, eax
mov dword [ebp - 0x384], ecx
jmp 0x10027760
jmp 0x1002777b
jmp 0x100277b9
jmp 0x100277de
jmp 0x10027812
xor edx, edx
mov byte [ebp - 0x77], dl
lea eax, [ebp - 0xdf4]
push eax
lea ecx, [ebp - 0xffc]
push ecx
lea ecx, [ebp - 0x77]
call 0x10002fc0
mov ecx, eax
call 0x10002000
push eax
call fcn.100221e0
add esp, 0xc
test eax, eax
je 0x1002808c
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
add edx, 0x55bd247d
adc eax, 0x46796
mov dword [0x10081100], edx
mov dword [0x10081104], eax
mov ecx, dword [0x10081128]
or ecx, dword [0x1008112c]
je 0x1002787d
mov edx, dword [0x100811f0]
mov dword [ebp - 0x258], edx
jmp 0x10027887
movsx eax, byte [ebp - 0x14]
mov dword [ebp - 0x258], eax
mov ecx, dword [ebp - 0x258]
mov dword [0x100811f0], ecx
mov edx, dword [0x10081148]
mov eax, dword [0x1008114c]
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], eax
mov ecx, 2
imul edx, ecx, 0x9a
movsx eax, word [edx + 0x1019a858]
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x38]
cdq
add eax, 0x559b1188
mov byte [ebp - 0x15], al
mov eax, dword [0x10081cb8]
mov dword [ebp - 0xbc], eax
movsx eax, word [0x100811b8]
cdq
push 0xfa366
push 0x1e3e25fd
push edx
push eax
call fcn.1005a880
mov dword [0x1008113c], eax
movsx eax, byte [ebp - 0x11]
cdq
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
and ecx, eax
and esi, edx
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
push esi
push ecx
push eax
push edx
call fcn.1005a880
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
movzx eax, byte [ebp - 0x12]
cdq
mov dword [0x10081178], eax
mov dword [0x1008117c], edx
mov ecx, dword [ebp - 0xbc]
add ecx, 0x6b3
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 4], 0xc
mov edx, dword [0x10081118]
not edx
mov eax, dword [0x1008111c]
not eax
mov dword [ebp - 0x460], edx
mov dword [ebp - 0x45c], eax
mov ecx, dword [ebp - 0x460]
or ecx, dword [ebp - 0x45c]
je 0x10027999
mov edx, dword [0x100811b0]
mov eax, dword [0x100811b4]
mov dword [ebp - 0x468], edx
mov dword [ebp - 0x464], eax
mov ecx, dword [ebp - 0x468]
or ecx, dword [ebp - 0x464]
je 0x10027999
mov dword [ebp - 0x25c], 1
jmp 0x100279a3
mov dword [ebp - 0x25c], 0
mov edx, dword [0x10081108]
cmp edx, dword [ebp - 0x25c]
jg 0x10027a59
movzx eax, word [0x10081158]
cdq
mov ecx, dword [0x10081150]
mov esi, dword [0x10081154]
mov dword [ebp - 0x470], eax
mov dword [ebp - 0x46c], edx
mov dword [ebp - 0x478], ecx
mov dword [ebp - 0x474], esi
mov edx, dword [ebp - 0x46c]
cmp edx, dword [ebp - 0x474]
jb 0x10027a0b
ja 0x100279ff
mov eax, dword [ebp - 0x470]
cmp eax, dword [ebp - 0x478]
jb 0x10027a0b
mov dword [ebp - 0x260], 1
jmp 0x10027a15
mov dword [ebp - 0x260], 0
movzx ecx, byte [ebp - 0x15]
movzx edx, byte [ebp - 0x16]
xor ecx, edx
cmp dword [ebp - 0x260], ecx
jge 0x10027a40
mov eax, dword [ebp - 0x64]
sub eax, 0x5ba18e06
mov word [0x1008115c], ax
mov cl, byte [0x10081cb8]
mov byte [ebp - 0x11], cl
jmp 0x10027a54
mov byte [str.Failedtogetdatabas], 8
movzx edx, word [0x100811a8]
sar edx, 1
mov word [ebp - 0x1c], dx
jmp 0x10027b75
xor eax, eax
je 0x10027ae3
movsx ecx, word [0x10081140]
test ecx, ecx
je 0x10027a78
movsx edx, byte [ebp - 0x14]
mov dword [ebp - 0x264], edx
jmp 0x10027a81
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x264], eax
mov cl, byte [ebp - 0x264]
mov byte [0x10081063], cl
movzx edx, word [ebp - 0x2c]
movzx eax, byte [ebp - 0x16]
sub edx, eax
jne 0x10027aad
xor ecx, ecx
mov dword [ebp - 0x328], 1
mov dword [ebp - 0x324], ecx
jmp 0x10027ab8
xorps xmm0, xmm0
movlpd qword [ebp - 0x328], xmm0
mov edx, dword [ebp - 0x328]
mov eax, dword [ebp - 0x324]
mov dword [0x10081148], edx
mov dword [0x1008114c], eax
imul ecx, dword [ebp - 0x60], 0xa8
xor edx, edx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], edx
jmp 0x10027b75
movsx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [0x100811d0]
mov esi, dword [0x100811d4]
mov dword [ebp - 0x480], eax
mov dword [ebp - 0x47c], edx
mov dword [ebp - 0x488], ecx
mov dword [ebp - 0x484], esi
mov edx, dword [ebp - 0x47c]
cmp edx, dword [ebp - 0x484]
jl 0x10027b75
jg 0x10027b2a
mov eax, dword [ebp - 0x480]
cmp eax, dword [ebp - 0x488]
jb 0x10027b75
movzx ecx, byte [ebp - 0x12]
test ecx, ecx
jne 0x10027b75
movsx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [0x100810f8]
sub ecx, eax
mov eax, dword [0x100810fc]
sbb eax, edx
mov edx, dword [0x100810f8]
sub edx, ecx
mov ecx, dword [0x100810fc]
sbb ecx, eax
mov dword [0x100810f8], edx
mov dword [0x100810fc], ecx
movzx edx, byte [0x1008104f]
movsx eax, byte [ebp - 0x11]
sub edx, eax
mov byte [0x1008104f], dl
jmp 0x10027b92
mov dword [ebp - 4], 0xffffffff
jmp 0x10027ba2
mov edx, dword [ebp - 0xbc]
add edx, 0x658
mov dword [ebp - 0x388], edx
movzx eax, byte [ebp - 0x3c]
push eax
push 0x80
push 0
push 0x1c
movzx ecx, byte [0x1008108b]
push ecx
push 0
call fcn.10035e00
add esp, 0x18
movzx eax, al
cdq
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
mov edx, dword [ebp - 0x5c]
or edx, dword [ebp - 0x58]
je 0x10027cfb
movzx eax, byte [ebp - 0x12]
cdq
mov ecx, dword [str.5U_]
mov esi, dword [0x100811c4]
mov dword [ebp - 0x490], eax
mov dword [ebp - 0x48c], edx
mov dword [ebp - 0x498], ecx
mov dword [ebp - 0x494], esi
mov edx, dword [ebp - 0x48c]
cmp edx, dword [ebp - 0x494]
jb 0x10027c3d
ja 0x10027c31
mov eax, dword [ebp - 0x490]
cmp eax, dword [ebp - 0x498]
jbe 0x10027c3d
mov dword [ebp - 0x268], 1
jmp 0x10027c47
mov dword [ebp - 0x268], 0
movzx ecx, byte [ebp - 0x12]
cmp ecx, 0x4c
jle 0x10027c5c
mov dword [ebp - 0x26c], 1
jmp 0x10027c66
mov dword [ebp - 0x26c], 0
mov edx, dword [ebp - 0x268]
cmp edx, dword [ebp - 0x26c]
jg 0x10027cca
mov eax, dword [0x10081150]
mov ecx, dword [0x10081154]
push ecx
push eax
mov edx, dword [0x1008112c]
push edx
mov eax, dword [0x10081128]
push eax
call fcn.1005a880
push edx
push eax
mov ecx, dword [0x1008112c]
push ecx
mov edx, dword [0x10081128]
push edx
call fcn.1005a880
mov dword [0x10081128], eax
mov dword [0x1008112c], edx
mov eax, dword [ebp - 0x38]
mov ecx, 2
imul edx, ecx, 0xaf
mov word [edx + 0x100b4d38], ax
jmp 0x10027cf6
mov eax, dword [ebp - 0x70]
add eax, dword [ebp - 0x3c]
add eax, dword [ebp - 0x3c]
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x10081188]
mov edx, dword [0x1008118c]
mov dword [ebp - 0x6cc], edx
mov eax, 4
shl eax, 0
mov dword [eax + 0x10081cbc], ecx
jmp 0x10027edb
movzx ecx, byte [0x1008108a]
test ecx, ecx
jne 0x10027d31
movsx edx, byte [ebp - 0x25]
mov dword [ebp - 0x54], edx
mov eax, dword [0x100811b0]
mov ecx, dword [0x100811b4]
push 0
push 0x3818
push ecx
push eax
call fcn.1005a880
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
jmp 0x10027edb
cmp dword [ebp - 0x60], 0x698fd047
jb 0x10027e13
movsx eax, word [0x100811dc]
cdq
mov ecx, dword [0x10081188]
mov esi, dword [0x1008118c]
mov dword [ebp - 0x4a0], eax
mov dword [ebp - 0x49c], edx
mov dword [ebp - 0x4a8], ecx
mov dword [ebp - 0x4a4], esi
mov edx, dword [ebp - 0x49c]
cmp edx, dword [ebp - 0x4a4]
jl 0x10027e13
jg 0x10027d90
mov eax, dword [ebp - 0x4a0]
cmp eax, dword [ebp - 0x4a8]
jbe 0x10027e13
mov ecx, dword [0x10081160]
mov edx, dword [0x10081164]
mov dword [ebp - 0x4b0], ecx
mov dword [ebp - 0x4ac], edx
mov eax, dword [ebp - 0x4b0]
or eax, dword [ebp - 0x4ac]
je 0x10027dd0
mov ecx, dword [0x10081130]
mov edx, dword [0x10081134]
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0xf0], edx
jmp 0x10027de4
movsx eax, word [0x10081184]
cdq
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xf0], edx
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xf0]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], ecx
mov eax, dword [0x100811b0]
mov edx, dword [0x100811b4]
mov cl, 6
call fcn.1005a8e0
mov word [0x10081140], ax
jmp 0x10027edb
mov edx, dword [0x10081150]
mov eax, dword [0x10081154]
mov dword [ebp - 0x4b8], edx
mov dword [ebp - 0x4b4], eax
mov ecx, dword [ebp - 0x4b8]
or ecx, dword [ebp - 0x4b4]
jne 0x10027e44
mov dword [ebp - 0x270], 1
jmp 0x10027e4e
mov dword [ebp - 0x270], 0
movsx edx, word [ebp - 0x1c]
not edx
cmp edx, dword [ebp - 0x270]
jg 0x10027e70
xor eax, eax
mov dword [ebp - 0x330], 1
mov dword [ebp - 0x32c], eax
jmp 0x10027e7b
xorps xmm0, xmm0
movlpd qword [ebp - 0x330], xmm0
mov ecx, dword [ebp - 0x32c]
cmp ecx, dword [0x10081124]
ja 0x10027ea5
jb 0x10027e99
mov edx, dword [ebp - 0x330]
cmp edx, dword [0x10081120]
ja 0x10027ea5
mov dword [ebp - 0x274], 1
jmp 0x10027eaf
mov dword [ebp - 0x274], 0
mov eax, dword [ebp - 0x274]
not eax
test eax, eax
je 0x10027edb
mov ecx, dword [0x10081114]
add ecx, 0x8a86
mov word [ebp - 0x20], cx
movzx edx, word [ebp - 0x2c]
mov eax, dword [0x10081114]
sub eax, edx
mov dword [0x10081114], eax
mov ecx, dword [ebp - 0xbc]
add ecx, 0x791
mov dword [ebp - 0x6d0], ecx
movsx eax, word [ebp - 0x20]
cdq
mov ecx, dword [0x100811b0]
mov esi, dword [0x100811b4]
add ecx, eax
adc esi, edx
mov edx, dword [0x100811b0]
mov eax, dword [0x100811b4]
add edx, ecx
adc eax, esi
mov dword [0x100811b0], edx
mov dword [0x100811b4], eax
xor ecx, ecx
mov dword [ebp - 0x5c], 0x1be3
mov dword [ebp - 0x58], ecx
mov dl, byte [0x10081cb8]
mov byte [ebp - 0x11], dl
mov eax, dword [ebp - 0x384]
xor eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x388]
add ecx, dword [ebp - 0xc0]
imul eax, ecx
cmp dword [ebp - 0xc0], eax
je 0x10028087
movsx edx, byte [0x1008108b]
cmp edx, dword [0x1008110c]
jae 0x10027fdc
movzx eax, byte [ebp - 0x16]
shl eax, 8
mov byte [0x1008108b], al
movsx eax, byte [ebp - 0x14]
cdq
mov ecx, eax
mov esi, edx
sub ecx, dword [0x10081120]
sbb esi, dword [0x10081124]
movsx eax, byte [ebp - 0x14]
cdq
push esi
push ecx
push edx
push eax
call fcn.1005a880
mov byte [ebp - 0x14], al
movsx edx, word [ebp - 0x20]
movzx eax, byte [ebp - 0x15]
imul edx, eax
add edx, dword [ebp - 0x3c]
jne 0x10027fbd
xor ecx, ecx
mov dword [ebp - 0x338], 1
mov dword [ebp - 0x334], ecx
jmp 0x10027fc8
xorps xmm0, xmm0
movlpd qword [ebp - 0x338], xmm0
mov edx, dword [ebp - 0x338]
mov eax, dword [ebp - 0x334]
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], eax
jmp 0x10028014
movzx ecx, byte [0x1008108a]
test ecx, ecx
je 0x10028014
mov dx, word [ebp - 0x24]
sub dx, 1
mov word [ebp - 0x24], dx
mov eax, dword [0x10081130]
mov ecx, dword [0x10081134]
push 0
push 0x77
push ecx
push eax
call fcn.1005a880
mov dword [0x10081118], eax
mov dword [0x1008111c], edx
jmp 0x10028039
jmp 0x1002804f
jmp 0x1002805d
jmp 0x1002807d
mov eax, 1
jmp 0x100288d8
jmp 0x10028127
cmp dword [ebp - 0x38], 0
je 0x10028127
movsx edx, word [ebp - 0x20]
test edx, edx
je 0x100280bd
mov eax, dword [str.5U_]
mov ecx, dword [0x100811c4]
mov dword [ebp - 0x6d4], ecx
push eax
call dword [sym.imp.USER32.dll_IsIconic]
mov byte [0x100810b2], al
jmp 0x10028127
movsx edx, word [ebp - 0x20]
movsx eax, word [0x10081180]
cmp edx, eax
jl 0x100280d8
mov dword [ebp - 0x278], 1
jmp 0x100280e2
mov dword [ebp - 0x278], 0
mov ecx, dword [ebp - 0x278]
not ecx
test ecx, ecx
je 0x10028127
movzx eax, word [ebp - 0x24]
cdq
mov edx, dword [0x100811e8]
mov ecx, dword [0x100811ec]
mov dword [ebp - 0x6d8], ecx
add eax, edx
mov word [ebp - 0x24], ax
movsx edx, byte [ebp - 0x13]
imul eax, edx, 0xea955d1f
xor ecx, ecx
mov edx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
and edx, eax
and esi, ecx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], esi
xor eax, eax
mov byte [ebp - 0x78], al
lea ecx, [ebp - 0xdf4]
push ecx
lea edx, [ebp - 0xffc]
push edx
lea ecx, [ebp - 0x78]
call fcn.10003170
mov ecx, eax
call fcn.10002020
push eax
call fcn.100221e0
add esp, 0xc
test eax, eax
je 0x100287a9
mov dword [ebp - 0xc4], 0
jmp 0x10028175
mov eax, dword [ebp - 0xc4]
add eax, 1
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0x3cd
jge 0x1002820f
movzx ecx, word [0x100811a8]
test ecx, ecx
jne 0x100281cf
movzx edx, byte [ebp - 0x16]
add edx, 0x8e
mov word [0x10081110], dx
mov eax, 1
imul ecx, eax, 0x48
movsx eax, byte [ecx + 0x10098500]
cdq
mov ecx, dword [0x100811e8]
mov esi, dword [0x100811ec]
and ecx, eax
and esi, edx
mov dword [0x100811e8], ecx
mov dword [0x100811ec], esi
jmp 0x10028201
movzx edx, byte [0x1008108a]
mov eax, dword [0x10081108]
sub eax, edx
mov dword [0x10081108], eax
movsx eax, byte [ebp - 0x14]
add eax, 0x4bb8a73d
cdq
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
push edx
push eax
push esi
push ecx
call fcn.1005a880
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov dl, byte [ebp - 0x13]
add dl, 1
mov byte [ebp - 0x13], dl
jmp 0x10028166
movsx eax, word [ebp - 0x1c]
movsx ecx, word [0x10081184]
cmp eax, ecx
jl 0x1002822a
mov dword [ebp - 0x27c], 1
jmp 0x10028234
mov dword [ebp - 0x27c], 0
movsx edx, word [ebp - 0x1c]
cmp edx, 0x44
jl 0x10028249
mov dword [ebp - 0x280], 1
jmp 0x10028253
mov dword [ebp - 0x280], 0
mov eax, dword [ebp - 0x27c]
cmp eax, dword [ebp - 0x280]
jle 0x1002826c
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov byte [ebp - 0x12], al
jmp 0x100282a5
mov ecx, dword [0x10081120]
or ecx, dword [0x10081124]
je 0x100282a5
movsx edx, byte [ebp - 0x13]
add edx, 0x9f
mov dword [ebp - 0x70], edx
mov eax, dword [ebp - 0x6c]
add eax, 0x8530
mov word [0x1008115c], ax
movsx ecx, word [0x10081180]
sub ecx, 0x141a
mov dword [ebp - 0x3c], ecx
mov edx, dword [0x10081cb8]
mov dword [ebp - 0xc8], edx
mov eax, dword [0x100811d0]
mov ecx, dword [0x100811d4]
mov dword [ebp - 0x4c0], eax
mov dword [ebp - 0x4bc], ecx
mov edx, dword [ebp - 0x4c0]
or edx, dword [ebp - 0x4bc]
je 0x100282ec
jmp 0x100282e7
jmp 0x100283ac
mov eax, dword [0x10081148]
mov ecx, dword [0x1008114c]
mov dword [ebp - 0x4c8], eax
mov dword [ebp - 0x4c4], ecx
mov edx, dword [ebp - 0x4c8]
or edx, dword [ebp - 0x4c4]
je 0x1002834a
movzx eax, word [0x100811d8]
cdq
sub eax, dword [ebp - 0x5c]
sbb edx, dword [ebp - 0x58]
movsx ecx, byte [ebp - 0x25]
add ecx, dword [ebp - 0x60]
xor esi, esi
push esi
push ecx
push edx
push eax
call fcn.1005a880
mov dword [0x10081160], eax
mov dword [0x10081164], edx
mov edx, 2
mov word [0x100811d8], dx
jmp 0x100283ac
mov eax, dword [ebp - 0x6c]
not eax
mov ecx, dword [ebp - 0x68]
not ecx
mov dword [ebp - 0x4d0], eax
mov dword [ebp - 0x4cc], ecx
mov edx, dword [ebp - 0x4d0]
or edx, dword [ebp - 0x4cc]
je 0x100283ac
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x6dc], edx
sub ecx, 0x19507994
mov eax, dword [0x10081138]
cdq
sub eax, ecx
mov dword [0x10081138], eax
push 0
push 0x9140b7c6
mov eax, dword [0x10081104]
push eax
mov ecx, dword [0x10081100]
push ecx
call fcn.1005a880
mov word [0x100811a8], ax
mov edx, dword [ebp - 0xc8]
add edx, 0x713
mov dword [ebp - 0x6e0], edx
mov ax, word [ebp - 0x1c]
sub ax, 1
mov word [ebp - 0x1c], ax
movzx eax, word [0x10081158]
cdq
mov ecx, dword [0x100811e8]
mov edx, dword [0x100811ec]
mov dword [ebp - 0x6e4], edx
sub eax, ecx
mov word [0x10081158], ax
movzx eax, word [ebp - 0x24]
add eax, 0x448e8b06
xor ecx, ecx
mov dword [0x10081120], eax
mov dword [0x10081124], ecx
mov edx, dword [ebp - 0xc8]
add edx, 0x7d5
mov dword [ebp - 0x390], edx
movsx eax, word [ebp - 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov word [ebp - 0x1c], ax
movsx ecx, word [0x100811b8]
test ecx, ecx
jne 0x1002843a
mov dword [ebp - 0x284], 1
jmp 0x10028444
mov dword [ebp - 0x284], 0
mov edx, dword [ebp - 0x284]
cmp edx, dword [ebp - 0x60]
jae 0x1002845b
mov dword [ebp - 0x28c], 1
jmp 0x10028465
mov dword [ebp - 0x28c], 0
cmp dword [0x100811ac], 0
jne 0x1002847a
mov dword [ebp - 0x288], 1
jmp 0x10028484
mov dword [ebp - 0x288], 0
movzx eax, word [0x10081158]
xor eax, dword [ebp - 0x288]
not eax
cmp dword [ebp - 0x28c], eax
je 0x100285b3
cmp dword [ebp - 0x54], 0
je 0x100284f7
mov byte [0x10081027], 0x38
movzx ecx, byte [0x1008104f]
test ecx, ecx
je 0x100284ca
movsx eax, byte [ebp - 0x11]
cdq
mov dword [ebp - 0x340], eax
mov dword [ebp - 0x33c], edx
jmp 0x100284dc
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x340], edx
mov dword [ebp - 0x33c], eax
mov ecx, dword [ebp - 0x340]
mov dword [ebp - 0x70], ecx
mov edx, dword [ebp - 0x38]
sub edx, 0x563191
mov word [ebp - 0x24], dx
jmp 0x100285b3
cmp dword [ebp - 0x38], 0
je 0x10028529
movsx eax, word [0x10081140]
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
movsx eax, word [ebp - 0x20]
movzx ecx, byte [0x1008108a]
imul eax, ecx
movsx edx, word [ebp - 0x20]
imul edx, eax
mov word [ebp - 0x20], dx
jmp 0x100285b3
mov eax, dword [0x10081130]
mov ecx, dword [0x10081134]
mov dword [ebp - 0x4d8], eax
mov dword [ebp - 0x4d4], ecx
mov edx, dword [ebp - 0x4d8]
or edx, dword [ebp - 0x4d4]
je 0x10028571
movsx eax, word [0x10081180]
mov ecx, dword [ebp - 0x38]
add ecx, eax
mov edx, dword [ebp - 0x38]
add edx, ecx
mov dword [ebp - 0x38], edx
mov eax, dword [0x10081cb8]
xor ecx, ecx
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], ecx
jmp 0x100285b3
cmp dword [0x1008110c], 0xffff57eb
jae 0x100285b3
movsx edx, byte [ebp - 0x11]
test edx, edx
je 0x100285b3
mov ax, word [ebp - 0x2c]
sub ax, 1
mov word [ebp - 0x2c], ax
mov cx, word [0x10081cb8]
mov word [0x100811e0], cx
mov edx, dword [0x10081190]
mov eax, 4
shl eax, 0
mov dword [eax + 0x10081cbc], edx
mov ecx, dword [ebp - 0xc8]
add ecx, 0x651
mov dword [ebp - 0x38c], ecx
mov edx, dword [ebp - 0x5c]
not edx
mov eax, dword [ebp - 0x58]
not eax
mov dword [ebp - 0x4e0], edx
mov dword [ebp - 0x4dc], eax
cmp dword [ebp - 0x4dc], 0
ja 0x100285fe
jb 0x100285f2
cmp dword [ebp - 0x4e0], 0xc0f68443
jae 0x100285fe
mov dword [ebp - 0x294], 1
jmp 0x10028608
mov dword [ebp - 0x294], 0
movsx ecx, word [ebp - 0x20]
test ecx, ecx
jne 0x1002861c
mov dword [ebp - 0x290], 1
jmp 0x10028626
mov dword [ebp - 0x290], 0
movzx edx, byte [0x1008104f]
imul edx, dword [ebp - 0x290]
cmp dword [ebp - 0x294], edx
jg 0x10028665
movzx eax, word [0x10081158]
add eax, 0x63872676
cdq
mov ecx, dword [0x10081130]
mov esi, dword [0x10081134]
sub ecx, eax
sbb esi, edx
mov dword [0x10081130], ecx
mov dword [0x10081134], esi
mov edx, dword [ebp - 0x38c]
cmp dword [ebp - 0x390], edx
je 0x100287a9
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
mov edx, dword [0x100811e8]
mov esi, dword [0x100811ec]
mov dword [ebp - 0x4e8], eax
mov dword [ebp - 0x4e4], ecx
mov dword [ebp - 0x4f0], edx
mov dword [ebp - 0x4ec], esi
mov eax, dword [ebp - 0x4e4]
cmp eax, dword [ebp - 0x4ec]
jb 0x100286f2
ja 0x100286bf
mov ecx, dword [ebp - 0x4e8]
cmp ecx, dword [ebp - 0x4f0]
jbe 0x100286f2
movzx edx, byte [0x10081027]
sub edx, dword [0x1008110c]
mov byte [0x10081027], dl
movsx eax, byte [ebp - 0x14]
cdq
mov ecx, eax
mov esi, edx
add ecx, dword [ebp - 0x6c]
adc esi, dword [ebp - 0x68]
movsx eax, byte [ebp - 0x14]
cdq
push esi
push ecx
push edx
push eax
call fcn.1005a880
mov byte [ebp - 0x14], al
mov edx, dword [ebp - 0x5c]
or edx, dword [ebp - 0x58]
jne 0x10028706
mov dword [ebp - 0x298], 1
jmp 0x10028710
mov dword [ebp - 0x298], 0
movsx eax, word [ebp - 0x20]
add eax, 0x1230abc6
cdq
mov esi, eax
mov eax, dword [0x10081170]
not eax
xor ecx, ecx
mov edx, dword [0x10081148]
mov edi, dword [0x1008114c]
push ecx
push eax
push edi
push edx
call fcn.1005a880
mov ecx, eax
movzx eax, byte [ebp - 0x12]
and eax, dword [ebp - 0x298]
cdq
xor ecx, eax
add esi, ecx
mov dword [ebp - 0x54], esi
movsx edx, word [0x100811e0]
mov eax, dword [ebp - 0x3c]
sub eax, edx
imul eax, dword [ebp - 0x3c]
mov dword [ebp - 0x3c], eax
movzx ecx, byte [0x1008108a]
test ecx, ecx
je 0x1002877f
movzx eax, word [ebp - 0x50]
cdq
mov dword [ebp - 0x348], eax
mov dword [ebp - 0x344], edx
jmp 0x10028796
mov edx, dword [0x10081198]
mov eax, dword [0x1008119c]
mov dword [ebp - 0x348], edx
mov dword [ebp - 0x344], eax
mov ecx, dword [ebp - 0x348]
mov dword [ebp - 0x54], ecx
mov eax, 1
jmp 0x100288d8
movzx edx, byte [0x100811c8]
push edx
push 0x6e
push 0x62
push 0x9d
push 4
push 0
push 0x68
call fcn.100350d0
add esp, 0x1c
movzx ax, al
mov word [0x100811d8], ax
mov ecx, dword [0x10081128]
or ecx, dword [0x1008112c]
jne 0x100287f4
xor edx, edx
mov dword [ebp - 0x2a8], 1
mov dword [ebp - 0x2a4], edx
jmp 0x100287ff
xorps xmm0, xmm0
movlpd qword [ebp - 0x2a8], xmm0
mov eax, dword [0x10081190]
not eax
mov ecx, dword [0x10081194]
not ecx
mov dword [ebp - 0x568], eax
mov dword [ebp - 0x564], ecx
mov edx, dword [ebp - 0x2a4]
cmp edx, dword [ebp - 0x564]
ja 0x10028844
jb 0x10028838
mov eax, dword [ebp - 0x2a8]
cmp eax, dword [ebp - 0x568]
jae 0x10028844
mov dword [ebp - 0x29c], 1
jmp 0x1002884e
mov dword [ebp - 0x29c], 0
mov ecx, dword [ebp - 0x29c]
not ecx
cmp dword [0x1008110c], ecx
jae 0x10028872
mov edx, dword [ebp - 0x5c]
push edx
call dword [sym.imp.USER32.dll_IsWindowVisible]
xor ecx, ecx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], ecx
jmp 0x100288d6
mov edx, dword [0x100811e8]
mov eax, dword [0x100811ec]
xor edx, dword [0x10081150]
xor eax, dword [0x10081154]
mov dword [ebp - 0x4f8], edx
mov dword [ebp - 0x4f4], eax
mov ecx, dword [ebp - 0x4f8]
or ecx, dword [ebp - 0x4f4]
jne 0x100288b7
xor edx, edx
mov dword [ebp - 0x500], 1
mov dword [ebp - 0x4fc], edx
jmp 0x100288c2
xorps xmm0, xmm0
movlpd qword [ebp - 0x500], xmm0
movzx eax, word [ebp - 0x2c]
cdq
add eax, 0xaee0c5e
xor eax, dword [ebp - 0x500]
mov word [ebp - 0x2c], ax
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret