Function at 0x44b04c
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xbfc
push esi
push edi
push 5
pop eax
mov dword [ebp - 0x38], ecx
lea edi, [ebp - 0x1a4]
mov ecx, eax
mov dword [ebp - 0x34], eax
mov esi, 0x401c00
mov dword [ebp - 0x40], edx
rep movsd dword es:[edi], dword [esi]
xor eax, eax
mov dword [ebp - 0x64], 0xeef3d2af
mov dword [ebp - 0x60], 0xf8382629
mov ecx, eax
mov dword [ebp - 0x5c], 0x5a269b74
mov dword [ebp - 0x58], 0x57c9a0b4
mov dword [ebp - 0x54], 0xe483e7f2
mov dword [ebp - 0x50], 0x8c5d7ee5
movsw word es:[edi], word [esi]
mov dword [ebp - 8], eax
mov byte [ebp + ecx - 0x3bc], cl
inc ecx
cmp ecx, 0x100
jb 0x44b0a5
mov edi, dword [0x44ee88]
mov esi, eax
mov dword [ebp - 0x3c], 0x15
xor edx, edx
mov cl, byte [ebp + esi - 0x3bc]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x3c]
movzx ecx, cl
or edi, 0x2330fc9
movzx eax, byte [ebp + edx - 0x1a4]
add eax, dword [ebp - 8]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 8], ecx
mov al, byte [ebp + ecx - 0x3bc]
mov byte [ebp + esi - 0x3bc], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + ecx - 0x3bc], al
cmp esi, 0x100
jb 0x44b0c4
xor eax, eax
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x10], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 0x10]
mov cl, byte [ebp + edi - 0x3bc]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x10], eax
mov al, byte [ebp + eax - 0x3bc]
mov byte [ebp + edi - 0x3bc], al
mov eax, dword [ebp - 0x10]
mov byte [ebp + eax - 0x3bc], cl
movzx eax, byte [ebp + edi - 0x3bc]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x3bc]
xor al, byte [ebp + esi - 0x64]
mov byte [ebp + esi - 0x1c0], al
inc esi
cmp esi, 0x18
jb 0x44b11e
mov dword [ebp - 0x78], 0x2b
xorps xmm1, xmm1
mov dword [ebp - 0x74], 0x5e
xor eax, eax
mov dword [ebp - 0x70], 0x55
mov dword [ebp - 0x6c], 0xffffff22
movups xmm0, xmmword [ebp - 0x78]
mov dword [ebp - 0x78], 0x13
mov dword [ebp - 0x74], 0x1c
psubd xmm1, xmm0
mov dword [ebp - 0x70], 0x63
movaps xmm0, xmm1
mov dword [ebp - 0x6c], 0xffffff31
psrldq xmm0, 8
paddd xmm1, xmm0
mov byte [ebp - 0x1a8], al
movups xmm0, xmm1
mov dword [ebp - 0x20], 0xb
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 0x1c], 0x36
movd edi, xmm1
movups xmm1, xmmword [ebp - 0x78]
push 0x3d
pop ecx
movaps xmm0, xmm1
mov dword [ebp - 0x44], ecx
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x18], 0xffffff5f
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd esi, xmm1
push 0x60
add esi, ecx
pop ecx
add ecx, dword [ebp + eax*4 - 0x20]
inc eax
cmp eax, 3
jl 0x44b21d
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x174], ecx
sub eax, 0x5f55c9ab
lea ecx, [ebp - 0x1c0]
mov dword [0x44ee88], eax
call fcn.0043617c
mov edx, eax
mov dword [ebp - 0x3c], eax
mov ecx, edi
call fcn.0043709c
mov dword [ebp - 0x2c], eax
cmp eax, esi
je 0x44c6a8
xor ecx, ecx
mov dword [ebp - 0x28], 0x3b
push 5
mov edx, ecx
mov dword [ebp - 0x24], 0x1d
mov dword [ebp - 0x20], 0x3f
mov eax, ecx
mov dword [ebp - 0x1c], 0x16
mov dword [ebp - 0x18], 0xffffff53
pop esi
sub edx, dword [ebp + eax*4 - 0x28]
inc eax
cmp eax, esi
jl 0x44b288
mov dword [ebp - 0x15c], edx
mov eax, ecx
mov edx, ecx
mov dword [ebp - 0x18c], 0x22
mov dword [ebp - 0x188], 0x2b
mov dword [ebp - 0x184], 0x36
mov dword [ebp - 0x180], 0x2f
mov dword [ebp - 0x17c], 0xffffff4e
sub edx, dword [ebp + eax*4 - 0x18c]
inc eax
cmp eax, esi
jl 0x44b2cd
mov dword [ebp - 0x1c], 0x19
mov dword [ebp - 0x18], 0x94
mov dword [ebp - 0x24], 0x1f
mov dword [ebp - 0x20], 0x18
movups xmm1, xmmword [ebp - 0x24]
push 0x3d
mov dword [ebp - 0x4c], edx
movaps xmm0, xmm1
mov dword [ebp - 0x13c], 0x9ed521e7
psrldq xmm0, 8
paddd xmm1, xmm0
mov word [ebp - 0x138], 0xdbda
movups xmm0, xmm1
mov byte [ebp - 0x136], 0xa1
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 0x134], 0x30793917
movd eax, xmm1
mov dword [ebp - 0x130], 0xe0c0ae1f
mov dword [ebp - 0x12c], 0x5cb9756c
add eax, 0x20
mov dword [ebp - 0x128], 0xc64ef58e
mov dword [ebp - 0x158], eax
pop eax
mov byte [ebp - 0x135], al
mov eax, dword [0x401778]
mov dword [ebp - 0x1c], eax
mov ax, word [0x40177c]
mov word [ebp - 0x18], ax
mov eax, ecx
mov dword [ebp - 8], ecx
mov byte [ebp + eax - 0x3bc], al
inc eax
cmp eax, 0x100
jb 0x44b383
mov esi, dword [0x44ee88]
mov edi, ecx
xor edx, edx
mov cl, byte [ebp + edi - 0x3bc]
mov eax, edi
mov byte [ebp - 1], cl
div dword [ebp - 0x34]
movzx ecx, cl
xor esi, 0xabb3076e
movzx eax, byte [ebp + edx - 0x1c]
add eax, dword [ebp - 8]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 8], ecx
mov al, byte [ebp + ecx - 0x3bc]
mov byte [ebp + edi - 0x3bc], al
inc edi
mov al, byte [ebp - 1]
mov byte [ebp + ecx - 0x3bc], al
cmp edi, 0x100
jb 0x44b39a
or esi, 0x4d292eb2
xor eax, eax
mov dword [ebp - 0x14], esi
mov edi, eax
mov dword [ebp - 0x10], eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 0x10]
mov cl, byte [ebp + edi - 0x3bc]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x10], eax
mov al, byte [ebp + eax - 0x3bc]
mov byte [ebp + edi - 0x3bc], al
mov eax, dword [ebp - 0x10]
mov byte [ebp + eax - 0x3bc], cl
movzx eax, byte [ebp + edi - 0x3bc]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x3bc]
xor al, byte [ebp + esi - 0x13c]
mov byte [ebp + esi - 0x1dc], al
inc esi
cmp esi, 0x18
jb 0x44b3f7
mov esi, 0x4015e4
mov dword [ebp - 0xdc], 0x5854d337
lea edi, [ebp - 0x20]
mov dword [ebp - 0xd8], 0x508bb20b
push 0x3d
pop ecx
movsd dword es:[edi], dword [esi]
xor eax, eax
push 0x39
pop edx
mov byte [ebp - 0xcc], cl
mov ecx, eax
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x1c4], al
mov dword [ebp - 0xd4], 0xdc8fb0a1
mov dword [ebp - 0xd0], 0x3a87c081
movsw word es:[edi], word [esi]
mov word [ebp - 0xcb], 0xd432
mov byte [ebp - 0xc9], dl
mov dword [ebp - 0xc8], 0x7e16506c
movsb byte es:[edi], byte [esi]
mov dword [ebp - 8], eax
mov byte [ebp + ecx - 0x4bc], cl
inc ecx
cmp ecx, 0x100
jb 0x44b4b9
mov esi, dword [ebp - 0x14]
mov edi, eax
mov dword [ebp - 0x30], 0xa
xor edx, edx
mov cl, byte [ebp + edi - 0x4bc]
mov eax, edi
mov byte [ebp - 1], cl
div dword [ebp - 0x30]
movzx ecx, cl
and esi, 0xeb13a32c
movzx eax, byte [ebp + edx - 0x20]
add eax, dword [ebp - 8]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 8], ecx
mov al, byte [ebp + ecx - 0x4bc]
mov byte [ebp + edi - 0x4bc], al
inc edi
mov al, byte [ebp - 1]
mov byte [ebp + ecx - 0x4bc], al
cmp edi, 0x100
jb 0x44b4d5
imul esi, esi, 0xe35868e7
xor eax, eax
mov dword [ebp - 0x10], eax
mov edi, eax
xor esi, 0x64a43d49
mov dword [ebp - 0xc], esi
mov esi, eax
lea eax, [esi + 1]
movzx esi, al
mov eax, dword [ebp - 0x10]
mov cl, byte [ebp + esi - 0x4bc]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x10], eax
mov al, byte [ebp + eax - 0x4bc]
mov byte [ebp + esi - 0x4bc], al
mov eax, dword [ebp - 0x10]
mov byte [ebp + eax - 0x4bc], cl
movzx eax, byte [ebp + esi - 0x4bc]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x4bc]
xor al, byte [ebp + edi - 0xdc]
mov byte [ebp + edi - 0x1f8], al
inc edi
cmp edi, 0x18
jb 0x44b538
mov esi, dword [ebp - 0xc]
mov edi, 0x403a20
push 0x63
mov ecx, edi
pop edx
lea eax, [edx - 0x30]
push 9
pop edx
cmp ax, dx
ja 0x44b5ba
add ecx, 2
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0x44b5a0
jmp 0x44b5f2
push 0x63
mov edx, 0x1c35
mov eax, edi
pop ecx
add edx, ecx
lea eax, [eax + 2]
cmp edx, 0x26c4
ja 0x44b5da
movzx ecx, word [eax]
test ecx, ecx
jne 0x44b5c4
jmp 0x44b5e0
add esi, 0x84b9df1
and esi, 0xb6756054
xor esi, 0x2714fe5c
sub esi, 0x49a67140
mov eax, dword [0x401f98]
and esi, 0x43865f76
mov dword [ebp - 0x1c], eax
xor ecx, ecx
mov ax, word [0x401f9c]
mov word [ebp - 0x18], ax
mov eax, ecx
mov byte [ebp - 0x1e0], cl
mov dword [ebp - 0xf4], 0x33c8b9ed
mov dword [ebp - 0xf0], 0x39cd0ad
mov dword [ebp - 0xec], 0xdf278ecf
mov dword [ebp - 0xe8], 0x51d1b43a
mov dword [ebp - 0xe4], 0x6fd6c66b
mov dword [ebp - 0xe0], 0x89f3756e
mov dword [ebp - 8], ecx
mov byte [ebp + eax - 0x5bc], al
inc eax
cmp eax, 0x100
jb 0x44b653
mov edi, ecx
xor edx, edx
mov cl, byte [ebp + edi - 0x5bc]
mov eax, edi
mov byte [ebp - 1], cl
div dword [ebp - 0x34]
movzx ecx, cl
and esi, 0x235a816b
movzx eax, byte [ebp + edx - 0x1c]
add eax, dword [ebp - 8]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 8], ecx
mov al, byte [ebp + ecx - 0x5bc]
mov byte [ebp + edi - 0x5bc], al
inc edi
mov al, byte [ebp - 1]
mov byte [ebp + ecx - 0x5bc], al
cmp edi, 0x100
jb 0x44b664
xor eax, eax
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x10], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 0x10]
mov cl, byte [ebp + edi - 0x5bc]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x10], eax
mov al, byte [ebp + eax - 0x5bc]
mov byte [ebp + edi - 0x5bc], al
mov eax, dword [ebp - 0x10]
mov byte [ebp + eax - 0x5bc], cl
movzx eax, byte [ebp + edi - 0x5bc]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x5bc]
xor al, byte [ebp + esi - 0xf4]
mov byte [ebp + esi - 0x214], al
inc esi
cmp esi, 0x18
jb 0x44b6bb
push 0x14
pop ecx
mov dword [ebp - 0x48], ecx
lea edi, [ebp - 0xbfc]
mov byte [ebp - 0x103], cl
mov esi, 0x402968
push 0x3d
pop ecx
mov byte [ebp - 0xfc], cl
xor eax, eax
push 0xf
pop ecx
rep movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x1fc], al
mov ecx, eax
mov dword [ebp - 0x10c], 0x286c64a5
mov dword [ebp - 0x108], 0x7f6b017
mov byte [ebp - 0x104], 0xc1
mov dword [ebp - 0x102], 0x22d74b5a
mov word [ebp - 0xfe], 0xa5e0
mov dword [ebp - 0xfb], 0xdea2dbf2
mov word [ebp - 0xf7], 0xd8c9
mov byte [ebp - 0xf5], 0xc4
movsw word es:[edi], word [esi]
mov dword [ebp - 8], eax
mov byte [ebp + ecx - 0x6bc], cl
inc ecx
cmp ecx, 0x100
jb 0x44b792
mov esi, dword [ebp - 0xc]
mov edi, eax
xor esi, 0x219306e2
push 0x63
mov ecx, 0x403a20
pop edx
lea eax, [edx - 0x30]
push 9
pop edx
cmp ax, dx
ja 0x44b7cf
add ecx, 2
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0x44b7b5
jmp 0x44b7eb
imul eax, esi, 0xf807a1fb
push 0x60f
mov dword [0x44ee88], eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov esi, dword [0x44ee88]
xor edx, edx
mov cl, byte [ebp + edi - 0x6bc]
mov eax, edi
mov byte [ebp - 1], cl
div dword [ebp - 0x44]
movzx ecx, cl
or esi, 0x4d70d53d
mov dword [0x44ee88], esi
movzx eax, byte [ebp + edx - 0xbfc]
add eax, dword [ebp - 8]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 8], ecx
mov al, byte [ebp + ecx - 0x6bc]
mov byte [ebp + edi - 0x6bc], al
inc edi
mov al, byte [ebp - 1]
mov byte [ebp + ecx - 0x6bc], al
cmp edi, 0x100
jb 0x44b7ad
xor eax, eax
mov edx, 0x403a20
mov dword [ebp - 0xc], eax
mov edi, eax
mov ecx, eax
inc ecx
lea edx, [edx + 2]
cmp ecx, 0x18a4
jg 0x44b872
cmp word [edx], ax
jne 0x44b851
cmp ecx, 0xea1
jg 0x44b88d
add esi, 0xf49f93f8
jmp 0x44b8a4
push esi
mov edx, esi
call fcn.0044251f
mov esi, dword [0x44ee88]
or esi, 0x4d295a6
pop ecx
mov dword [0x44ee88], esi
push esi
mov edx, esi
call fcn.0044251f
pop ecx
mov esi, dword [0x44ee88]
or esi, 0xa5814a35
xor eax, eax
add esi, 0x9568aa9a
mov dword [ebp - 0x14], esi
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 0xc]
mov cl, byte [ebp + edi - 0x6bc]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0xc], eax
mov al, byte [ebp + eax - 0x6bc]
mov byte [ebp + edi - 0x6bc], al
mov eax, dword [ebp - 0xc]
mov byte [ebp + eax - 0x6bc], cl
movzx eax, byte [ebp + edi - 0x6bc]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x6bc]
xor al, byte [ebp + esi - 0x10c]
mov byte [ebp + esi - 0x230], al
inc esi
cmp esi, 0x18
jb 0x44b8af
push 0x13
pop ecx
mov byte [ebp - 0x122], cl
lea edi, [ebp - 0x1a4]
push 9
pop ecx
mov byte [ebp - 0x120], cl
mov esi, 0x401c50
push 5
pop ecx
mov byte [ebp - 0x114], cl
xor eax, eax
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x14]
mov ecx, eax
mov byte [ebp - 0x218], al
and esi, 0xc796c2f6
mov word [ebp - 0x124], 0x62d0
mov byte [ebp - 0x121], 0x55
mov dword [ebp - 0x11f], 0xf303d018
mov dword [ebp - 0x11b], 0x1aceaf5e
mov word [ebp - 0x117], 0xb8e1
mov byte [ebp - 0x115], 0xb6
mov dword [ebp - 0x113], 0xc7f5349f
mov word [ebp - 0x10f], 0x47c8
mov byte [ebp - 0x10d], 0x9d
mov dword [ebp - 8], eax
mov byte [ebp + ecx - 0x7bc], cl
inc ecx
cmp ecx, 0x100
jb 0x44b996
mov edi, eax
cmp byte [str.sd_Deva_IN], 0
je 0x44b9ca
inc eax
cmp eax, 0x25e4
je 0x44b9c4
cmp byte [eax + str.sd_Deva_IN], 0
jne 0x44b9b1
jmp 0x44b9ca
and esi, 0x17203b6f
xor edx, edx
mov cl, byte [ebp + edi - 0x7bc]
mov eax, edi
mov byte [ebp - 1], cl
div dword [ebp - 0x78]
movzx ecx, cl
or esi, 0x2bf04455
xor esi, 0xe30ffe8b
push 0
movzx eax, byte [ebp + edx - 0x1a4]
add eax, dword [ebp - 8]
add ecx, eax
movzx edx, cl
mov dword [ebp - 8], edx
mov al, byte [ebp + edx - 0x7bc]
mov byte [ebp + edi - 0x7bc], al
inc edi
mov al, byte [ebp - 1]
mov byte [ebp + edx - 0x7bc], al
pop eax
cmp edi, 0x100
jb 0x44b9a8
add esi, 0xf9cc9df0
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], esi
mov edi, eax
mov esi, eax
lea eax, [esi + 1]
movzx esi, al
mov eax, dword [ebp - 0xc]
mov cl, byte [ebp + esi - 0x7bc]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0xc], eax
mov al, byte [ebp + eax - 0x7bc]
mov byte [ebp + esi - 0x7bc], al
mov eax, dword [ebp - 0xc]
mov byte [ebp + eax - 0x7bc], cl
movzx eax, byte [ebp + esi - 0x7bc]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x7bc]
xor al, byte [ebp + edi - 0x124]
mov byte [ebp + edi - 0x24c], al
inc edi
cmp edi, 0x18
jb 0x44ba31
mov eax, dword [0x4038b0]
xor ecx, ecx
xor dword [ebp - 0x10], 0x270f5877
mov edi, ecx
mov dword [ebp - 0x1c], eax
mov ax, word [0x4038b4]
mov word [ebp - 0x18], ax
mov eax, ecx
mov byte [ebp - 0x234], cl
mov dword [ebp - 0x154], 0x9f672e27
mov dword [ebp - 0x150], 0xf28f5d20
mov dword [ebp - 0x14c], 0x3add126f
mov dword [ebp - 0x148], 0x916d489e
mov dword [ebp - 0x144], 0x7e8c263
mov dword [ebp - 0x140], 0x61abca5d
mov byte [ebp + eax - 0x8bc], al
inc eax
cmp eax, 0x100
jb 0x44baed
mov esi, ecx
xor edx, edx
mov cl, byte [ebp + esi - 0x8bc]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x34]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x1c]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x8bc]
mov byte [ebp + esi - 0x8bc], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x8bc], al
cmp esi, 0x100
jb 0x44bafe
xor eax, eax
mov dword [ebp - 0xc], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 0xc]
mov cl, byte [ebp + edi - 0x8bc]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0xc], eax
mov al, byte [ebp + eax - 0x8bc]
mov byte [ebp + edi - 0x8bc], al
mov eax, dword [ebp - 0xc]
mov byte [ebp + eax - 0x8bc], cl
movzx eax, byte [ebp + edi - 0x8bc]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x8bc]
xor al, byte [ebp + esi - 0x154]
mov byte [ebp + esi - 0x268], al
inc esi
cmp esi, 0x18
jb 0x44bb48
mov esi, 0x402afc
mov dword [ebp - 0x94], 0xd64caffd
lea edi, [ebp - 0x20]
mov dword [ebp - 0x90], 0xe2a050d1
push 0x15
xor eax, eax
mov dword [ebp - 0x8c], 0x6efa33b9
movsd dword es:[edi], dword [esi]
pop ecx
mov byte [ebp - 0x83], cl
mov ecx, eax
mov byte [ebp - 0x250], al
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x88], 0x7dd8485b
mov byte [ebp - 0x84], 0x81
mov dword [ebp - 0x82], 0xc765e0fb
movsw word es:[edi], word [esi]
mov word [ebp - 0x7e], 0x4f82
mov dword [ebp - 8], eax
movsb byte es:[edi], byte [esi]
mov byte [ebp + ecx - 0x9bc], cl
inc ecx
cmp ecx, 0x100
jb 0x44bc05
mov esi, dword [ebp - 0x10]
mov edi, eax
add esi, 0x412d6267
mov dword [ebp - 0x10], esi
mov dword [0x44ee88], esi
xor edx, edx
mov cl, byte [ebp + edi - 0x9bc]
mov eax, edi
mov byte [ebp - 1], cl
div dword [ebp - 0x30]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x20]
add eax, dword [ebp - 8]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 8], ecx
mov al, byte [ebp + ecx - 0x9bc]
mov byte [ebp + edi - 0x9bc], al
inc edi
mov al, byte [ebp - 1]
mov byte [ebp + ecx - 0x9bc], al
cmp edi, 0x100
jb 0x44bc29
xor eax, eax
mov dword [ebp - 0xc], eax
mov esi, eax
mov edi, eax
lea eax, [esi + 1]
movzx esi, al
mov eax, dword [ebp - 0xc]
mov cl, byte [ebp + esi - 0x9bc]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0xc], eax
mov al, byte [ebp + eax - 0x9bc]
mov byte [ebp + esi - 0x9bc], al
mov eax, dword [ebp - 0xc]
mov byte [ebp + eax - 0x9bc], cl
movzx eax, byte [ebp + esi - 0x9bc]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x9bc]
xor al, byte [ebp + edi - 0x94]
mov byte [ebp + edi - 0x284], al
inc edi
cmp edi, 0x18
jb 0x44bc77
mov esi, dword [ebp - 0x10]
xor eax, eax
mov ecx, eax
mov byte [ebp - 0x26c], al
mov dword [ebp - 0xc4], 0xdcc8d3ad
mov dword [ebp - 0xc0], 0xf9a81f72
mov dword [ebp - 0xbc], 0x5cd1cf9d
mov dword [ebp - 0xb8], 0x677d775
mov dword [ebp - 0xb4], 0x67beebb1
mov dword [ebp - 0xb0], 0x64dc4c89
cmp byte [str.sd_Deva_IN], al
je 0x44bd5b
inc ecx
cmp ecx, 0xb73
je 0x44bd55
cmp byte [ecx + str.sd_Deva_IN], al
jne 0x44bd23
cmp ecx, 0x160b
jle 0x44bd5b
push esi
mov edx, esi
call fcn.0044251f
pop ecx
mov esi, dword [0x44ee88]
and esi, 0xd98657f5
xor eax, eax
jmp 0x44bd61
sub esi, 0x73581f0b
or esi, 0x43bd2590
xor esi, 0x87e2952b
lea edi, [ebp - 0x7c]
mov dword [ebp - 0x10], esi
mov esi, 0x4038b8
push 5
pop ecx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
movsb byte es:[edi], byte [esi]
mov edi, eax
mov byte [ebp + ecx - 0xabc], cl
inc ecx
cmp ecx, 0x100
jb 0x44bd7c
mov esi, eax
xor edx, edx
mov cl, byte [ebp + esi - 0xabc]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x48]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x7c]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0xabc]
mov byte [ebp + esi - 0xabc], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0xabc], al
cmp esi, 0x100
jb 0x44bd8e
mov esi, dword [ebp - 0x10]
xor eax, eax
mov dword [ebp - 0xc], eax
mov ecx, eax
mov edi, eax
lea eax, [ecx + 1]
movzx edx, al
push 0x63
mov dword [ebp - 8], edx
mov cl, byte [ebp + edx - 0xabc]
movzx eax, cl
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 0x30]
movzx eax, al
mov dword [ebp - 0xc], eax
mov al, byte [ebp + eax - 0xabc]
mov byte [ebp + edx - 0xabc], al
mov edx, 0x212d
mov eax, dword [ebp - 0xc]
mov byte [ebp + eax - 0xabc], cl
mov eax, 0x403a20
pop ecx
add edx, ecx
lea eax, [eax + 2]
cmp edx, 0x12c2
ja 0x44be38
movzx ecx, word [eax]
test ecx, ecx
jne 0x44be22
jmp 0x44be3e
and esi, 0x6bf4ed98
xor esi, 0x2caaff
mov ecx, 0x403a20
sub esi, 0x492b3d5f
mov edx, esi
call fcn.0044260d
mov ecx, dword [ebp - 8]
movzx eax, byte [ebp + ecx - 0xabc]
add eax, dword [ebp - 0x30]
movzx eax, al
mov al, byte [ebp + eax - 0xabc]
xor al, byte [ebp + edi - 0xc4]
mov byte [ebp + edi - 0x2a0], al
inc edi
cmp edi, 0x18
jb 0x44bddb
xor eax, eax
mov ecx, str.invalid_string_position
mov byte [ebp - 0x288], al
mov al, byte [str.invalid_string_position]
jmp 0x44bea3
sub al, 0x30
cmp al, 9
ja 0x44bea9
inc ecx
mov al, byte [ecx]
test al, al
jne 0x44be9a
jmp 0x44beaf
sub esi, 0x45f7869
or esi, 0x1c47f2f6
push esi
mov edx, esi
mov dword [0x44ee88], esi
call fcn.0044251f
mov eax, dword [0x401b08]
mov esi, dword [0x44ee88]
mov dword [ebp - 0x1c], eax
mov ax, word [0x401b0c]
mov word [ebp - 0x18], ax
xor eax, eax
pop ecx
mov dword [ebp - 0xac], 0xaf907974
add esi, 0x559ce55e
mov dword [ebp - 0xa8], 0xf07be841
mov ecx, eax
mov dword [ebp - 0xa4], 0xfb32a46
mov dword [ebp - 0xa0], 0x433cad17
mov dword [ebp - 0x9c], 0x76f63e48
mov dword [ebp - 0x98], 0x1b818b6f
mov dword [ebp - 8], eax
mov byte [ebp + ecx - 0xbbc], cl
inc ecx
cmp ecx, 0x100
jb 0x44bf25
mov edi, eax
mov al, byte [str.invalid_string_position]
mov ecx, str.invalid_string_position
jmp 0x44bf4c
sub al, 0x30
cmp al, 9
ja 0x44bf52
inc ecx
mov al, byte [ecx]
test al, al
jne 0x44bf43
jmp 0x44bf58
add esi, 0x23735ba
xor edx, edx
mov cl, byte [ebp + edi - 0xbbc]
mov eax, edi
mov byte [ebp - 1], cl
div dword [ebp - 0x34]
movzx ecx, cl
add esi, 0xa5e33ab3
movzx eax, byte [ebp + edx - 0x1c]
add eax, dword [ebp - 8]
add ecx, eax
movzx edx, cl
mov dword [ebp - 8], edx
mov al, byte [ebp + edx - 0xbbc]
mov byte [ebp + edi - 0xbbc], al
inc edi
mov al, byte [ebp - 1]
mov byte [ebp + edx - 0xbbc], al
cmp edi, 0x100
jb 0x44bf37
xor eax, eax
add esi, 0x647d8385
mov dword [ebp - 0x14], esi
mov edi, eax
mov dword [ebp - 0xc], eax
mov esi, eax
lea eax, [esi + 1]
movzx esi, al
mov eax, dword [ebp - 0xc]
mov cl, byte [ebp + esi - 0xbbc]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0xc], eax
mov al, byte [ebp + eax - 0xbbc]
mov byte [ebp + esi - 0xbbc], al
mov eax, dword [ebp - 0xc]
mov byte [ebp + eax - 0xbbc], cl
movzx eax, byte [ebp + esi - 0xbbc]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0xbbc]
xor al, byte [ebp + edi - 0xac]
mov byte [ebp + edi - 0x2bc], al
inc edi
cmp edi, 0x18
jb 0x44bfb5
mov esi, dword [ebp - 0x14]
mov edi, 0x403a20
push 0x63
mov edx, 0x453
mov eax, edi
pop ecx
add edx, ecx
lea eax, [eax + 2]
cmp edx, 0x208f
ja 0x44c038
movzx ecx, word [eax]
test ecx, ecx
jne 0x44c022
jmp 0x44c03e
imul esi, esi, 0x28ce3938
and esi, 0x2315cbdb
mov ecx, edi
xor esi, 0x8ea30d0f
mov edx, esi
call fcn.0044260d
xor eax, eax
mov ecx, 0xb72
push 0x63
mov byte [ebp - 0x2a4], al
mov eax, edi
pop edx
add ecx, edx
lea eax, [eax + 2]
cmp ecx, 0x155d
ja 0x44c07b
movzx edx, word [eax]
test edx, edx
jne 0x44c065
jmp 0x44c08a
mov edx, esi
mov ecx, edi
call fcn.0044260d
add esi, 0x69706797
and esi, 0x21a8880c
or esi, 0x1e506773
push esi
mov edx, esi
mov dword [0x44ee88], esi
call fcn.0044251f
xor eax, eax
mov dword [ebp - 0x20], 0x24
pop ecx
mov edx, eax
mov dword [ebp - 0x1c], 0x60
mov dword [ebp - 0x18], 0xffffff7c
mov ecx, eax
sub edx, dword [ebp + ecx*4 - 0x20]
inc ecx
cmp ecx, 3
jl 0x44c0c0
push 0x3e
mov dword [ebp - 0x160], edx
mov ecx, eax
mov dword [ebp - 0x1c], 4
mov dword [ebp - 0x18], 0xc2
pop edx
add edx, dword [ebp + ecx*4 - 0x1c]
inc ecx
cmp ecx, 2
jl 0x44c0e3
push 5
pop ecx
mov dword [ebp - 0x48], edx
mov edx, ecx
mov dword [ebp - 0x1c], 0x5e
mov ecx, eax
mov dword [ebp - 0x18], 0xffffff9d
add edx, dword [ebp + ecx*4 - 0x1c]
inc ecx
cmp ecx, 2
jl 0x44c105
push 0x39
mov dword [ebp - 0x164], edx
mov ecx, eax
mov dword [ebp - 0x1c], 0x27
mov dword [ebp - 0x18], 0xffffffa0
pop edx
add edx, dword [ebp + ecx*4 - 0x1c]
inc ecx
cmp ecx, 2
jl 0x44c128
mov esi, dword [0x44ee88]
mov dword [ebp - 0x168], edx
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x20], 0x1a
mov dword [ebp - 0x1c], 0x42
mov dword [ebp - 0x18], 0xffffffa4
mov dword [ebp - 8], eax
cmp byte [str.invalid_string_position], 0
mov edi, eax
je 0x44c17a
inc edi
cmp edi, 0x4f2
jg 0x44c290
cmp byte [edi + str.invalid_string_position], 0
jne 0x44c164
or esi, 0x5050960c
and esi, 0x3c6228b7
mov ecx, 0x403a20
mov edx, esi
call fcn.0044260d
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
push 0
pop eax
sub edx, dword [ebp + ecx*4 - 0x20]
inc ecx
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
cmp ecx, 3
jl 0x44c159
lea edx, [esi + 0x28f81d3c]
mov dword [ebp - 0x78], 0x1e
push 4
mov edi, eax
mov dword [ebp - 0x74], 0x3b
mov dword [ebp - 0x70], 0x51
mov ecx, eax
mov dword [ebp - 0x6c], 0xffffff56
mov dword [0x44ee88], edx
pop esi
sub edi, dword [ebp + ecx*4 - 0x78]
inc ecx
cmp ecx, esi
jl 0x44c1da
push 5
mov dword [ebp - 0x16c], edi
mov ecx, eax
mov dword [ebp - 0x60], 0x1c
mov dword [ebp - 0x5c], 0x2a
mov dword [ebp - 0x58], 0x4b
mov dword [ebp - 0x54], 0x38
mov dword [ebp - 0x50], 0xffffff37
pop edi
sub ecx, dword [ebp + eax*4 - 0x60]
inc eax
cmp eax, edi
jl 0x44c211
movzx eax, byte [str.invalid_string_position]
xorps xmm1, xmm1
mov dword [ebp - 0x78], 0x23
mov dword [ebp - 0x74], 0x22
mov dword [ebp - 0x70], 0x30
mov dword [ebp - 0x6c], 0xffffff8b
mov dword [ebp - 0x170], ecx
mov ecx, 0x752
movups xmm0, xmmword [ebp - 0x78]
psubd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd dword [ebp - 0x178], xmm1
test eax, eax
je 0x44c2d8
mov edi, str.invalid_string_position
add ecx, eax
inc edi
cmp ecx, 0x2491
ja 0x44c2c5
movzx eax, byte [edi]
test eax, eax
jne 0x44c27c
jmp 0x44c2d8
mov edx, esi
mov ecx, 0x403a20
call fcn.0044260d
xor esi, 0xd4877059
cmp edi, 0x9b8
jle 0x44c17a
mov edx, esi
mov ecx, 0x403a20
call fcn.0044260d
add esi, 0x90778eaa
jmp 0x44c180
push edx
call fcn.0044251f
mov edx, dword [0x44ee88]
pop ecx
add edx, 0x46fb0b47
xor edx, 0x5a2a4f86
push edx
mov dword [0x44ee88], edx
call fcn.0044251f
pop ecx
mov dword [ebp - 0x1c], 0x26
xor eax, eax
mov dword [ebp - 0x18], 0xffffffd6
add esi, dword [ebp + eax*4 - 0x1c]
inc eax
cmp eax, 2
jl 0x44c2fb
mov ecx, dword [ebp - 0x15c]
mov dword [ebp - 0x18], esi
mov esi, dword [ebp - 0x3c]
mov edx, esi
call fcn.0043709c
mov edi, eax
cmp edi, dword [ebp - 0x4c]
jne 0x44c356
xor eax, eax
mov dword [ebp - 0x20], 0x2d
mov dword [ebp - 0x1c], 0x5e
mov ecx, eax
mov dword [ebp - 0x18], 0xffffff75
sub eax, dword [ebp + ecx*4 - 0x20]
inc ecx
cmp ecx, 3
jl 0x44c338
mov ecx, esi
mov dword [ebp - 0x4c], eax
call fcn.004369c6
push eax
mov eax, dword [ebp - 0x4c]
push eax
jmp 0x44c6b9
mov ecx, dword [ebp - 0x158]
add ecx, ecx
call fcn.0041e51b
sub dword [0x44ee88], 0xbd693b2
mov ecx, edi
mov esi, eax
call fcn.004369c6
push eax
push edi
push esi
call fcn.00436044
add esp, 0xc
lea ecx, [ebp - 0x1dc]
call fcn.0043617c
lea ecx, [ebp - 0x1f8]
mov dword [ebp - 0x34], eax
call fcn.0043617c
lea ecx, [ebp - 0x214]
mov dword [ebp - 0x10], eax
call fcn.0043617c
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x44], eax
call fcn.0043617c
mov dword [ebp - 0x30], eax
mov edx, 0x403a20
xor eax, eax
mov ecx, eax
inc ecx
lea edx, [edx + 2]
cmp ecx, 0x47e
je 0x44c3db
cmp word [edx], ax
jne 0x44c3c2
mov edx, dword [0x44ee88]
jmp 0x44c3e7
mov edx, dword [0x44ee88]
add edx, 0x76bbd38b
add edx, 0x1c239a7c
xor edx, 0x71a4b6e1
push edx
mov dword [0x44ee88], edx
call fcn.0044251f
pop ecx
lea ecx, [ebp - 0x24c]
call fcn.0043617c
lea ecx, [ebp - 0x268]
mov edi, eax
call fcn.0043617c
lea ecx, [ebp - 0x284]
mov dword [ebp - 0x14], eax
call fcn.0043617c
lea ecx, [ebp - 0x2a0]
mov dword [ebp - 8], eax
call fcn.0043617c
lea ecx, [ebp - 0x2bc]
mov dword [ebp - 0x158], eax
call fcn.0043617c
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x4c], eax
call fcn.00436c9e
test eax, eax
jne 0x44c471
push dword [ebp + 0x14]
mov edx, dword [ebp - 0x40]
push dword [ebp + 0x10]
mov ecx, dword [ebp - 0x38]
push dword [ebp + 0xc]
push esi
call fcn.00445fe8
jmp 0x44c4f9
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x2c]
call fcn.00436c9e
test eax, eax
jne 0x44c48a
call fcn.00448ec9
jmp 0x44c587
mov edx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x2c]
call fcn.00436c9e
test eax, eax
jne 0x44c4b0
push dword [ebp + 0x14]
mov edx, dword [ebp - 0x40]
push dword [ebp + 0x10]
mov ecx, dword [ebp - 0x38]
push dword [ebp + 0xc]
push esi
call fcn.004444de
jmp 0x44c4f9
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
call fcn.00436c9e
test eax, eax
je 0x44c56c
mov ecx, dword [ebp - 0x2c]
mov edx, edi
call fcn.00436c9e
test eax, eax
je 0x44c56c
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x2c]
call fcn.00436c9e
test eax, eax
jne 0x44c501
push dword [ebp + 0x14]
mov edx, dword [ebp - 0x40]
push dword [ebp + 0x10]
mov ecx, dword [ebp - 0x38]
push dword [ebp + 0xc]
push esi
call fcn.00446fd9
add esp, 0x10
jmp 0x44c587
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x2c]
call fcn.00436c9e
test eax, eax
jne 0x44c52a
push dword [ebp + 0x14]
mov edx, dword [ebp - 0x40]
push dword [ebp + 0x10]
mov ecx, dword [ebp - 0x38]
push dword [ebp + 0xc]
push dword [ebp + 8]
push esi
call fcn.004487a2
jmp 0x44c584
mov edx, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x2c]
call fcn.00436c9e
test eax, eax
jne 0x44c54d
push dword [ebp + 0x20]
mov edx, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x18]
call fcn.0044916c
pop ecx
jmp 0x44c587
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x2c]
call fcn.00436c9e
test eax, eax
jne 0x44c587
push dword [ebp + 0x14]
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x38]
call fcn.00449547
jmp 0x44c54a
push dword [ebp + 0x14]
mov edx, dword [ebp - 0x40]
push dword [ebp + 0x10]
mov ecx, dword [ebp - 0x38]
push dword [ebp + 0xc]
push dword [ebp - 0x2c]
push esi
call fcn.00442723
add esp, 0x14
mov eax, dword [ebp - 0x48]
add eax, eax
push eax
push dword [ebp - 0x160]
push esi
call fcn.004360de
add esp, 0xc
mov ecx, 0x4039e8
mov al, 0x73
sub al, 0x30
cmp al, 9
ja 0x44c5b7
inc ecx
mov al, byte [ecx]
test al, al
jne 0x44c5a3
mov eax, dword [0x44ee88]
jmp 0x44c5c1
mov eax, dword [0x44ee88]
or eax, 0x403c2be5
add eax, 0x6f9b0321
mov ecx, esi
mov dword [0x44ee88], eax
call fcn.0041e600
mov ecx, dword [ebp - 0x34]
call fcn.004369c6
push eax
push dword [ebp - 0x164]
push ecx
call fcn.004360de
mov ecx, dword [ebp - 0x10]
call fcn.004369c6
mov edx, dword [ebp - 0x168]
push eax
push edx
push ecx
call fcn.004360de
mov ecx, dword [ebp - 0x44]
call fcn.004369c6
mov edx, dword [ebp - 0xc]
push eax
push edx
push ecx
call fcn.004360de
mov ecx, dword [ebp - 0x30]
call fcn.004369c6
push eax
push dword [ebp - 0x16c]
push ecx
call fcn.004360de
mov ecx, edi
call fcn.004369c6
push eax
push dword [ebp - 0x170]
push edi
call fcn.004360de
mov esi, dword [ebp - 0x14]
mov ecx, esi
sub dword [0x44ee88], 0x1a533f05
call fcn.004369c6
push eax
push dword [ebp - 0x178]
push esi
call fcn.004360de
mov ecx, dword [ebp - 8]
add esp, 0x48
call fcn.004369c6
push eax
push dword [ebp - 0x18]
push ecx
call fcn.004360de
mov ecx, dword [ebp - 0x34]
add esp, 0xc
call fcn.0041e600
mov ecx, dword [ebp - 0x10]
call fcn.0041e600
mov ecx, dword [ebp - 0x44]
call fcn.0041e600
mov ecx, dword [ebp - 0x30]
call fcn.0041e600
mov ecx, edi
call fcn.0041e600
mov ecx, esi
call fcn.0041e600
mov ecx, dword [ebp - 8]
call fcn.0041e600
mov esi, dword [ebp - 0x3c]
mov ecx, esi
call fcn.004369c6
push eax
push dword [ebp - 0x174]
push esi
call fcn.004360de
add esp, 0xc
mov ecx, esi
call fcn.0041e600
pop edi
pop esi
leave
ret