Function at 0x49e550
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x148
mov eax, dword [0x5c0290]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov dword [ebp - 0x124], eax
call fcn.00468bd0
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
je 0x49eef4
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x38]
push eax
call fcn.0049b150
add esp, 4
call fcn.00468bd0
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
je 0x49eefe
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
call fcn.0049b380
add esp, 4
call fcn.00468bd0
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
je 0x49ef08
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x40]
push eax
call fcn.0049dc90
add esp, 4
call fcn.00468bd0
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
je 0x49ef12
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x48], eax
call fcn.00468bd0
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
je 0x49ef1c
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x34], eax
call fcn.00468bd0
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
je 0x49ef26
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.0049bf10
add esp, 0xc
call fcn.00468bd0
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
je 0x49ef30
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x3c]
push eax
call fcn.0049ddb0
add esp, 4
call fcn.00468bd0
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
je 0x49ef3a
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.0049d540
mov esi, dword [ebp - 0x38]
xor eax, eax
mov dword [ebp - 0x10], eax
xor edi, edi
mov dword [ebp - 0xc], eax
mov edx, 0x58276c
mov dword [ebp - 0x20], eax
add esp, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 8], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
xor al, al
mov dword [ebp - 0x1c], 0xedb88320
mov dword [ebp - 0x18], 0x20
mov dword [ebp - 0x14], edi
mov byte [ebp - 8], al
mov dword [ebp - 0x20], edx
cmp dword [esi - 4], 1
mov ecx, dword [esi - 0xc]
mov dword [ebp - 0x24], ecx
jle 0x49e738
push ecx
lea ecx, [ebp - 0x38]
call fcn.00468ae0
mov al, byte [ebp - 8]
mov edi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x38]
xor ebx, ebx
test al, al
jne 0x49e74b
lea ecx, [ebp - 0x20]
call dword [edx + 4]
mov edi, dword [ebp - 0x14]
mov byte [ebp - 8], 1
mov eax, dword [ebp - 0x24]
xor edx, edx
add eax, eax
je 0x49e76e
movzx ecx, byte [edx + esi]
inc edx
movzx eax, bl
xor ecx, eax
shr ebx, 8
xor ebx, dword [edi + ecx*4]
mov ecx, dword [ebp - 0x24]
lea eax, [ecx + ecx]
cmp edx, eax
jb 0x49e754
push dword [esi - 8]
xor ebx, 0x55
push esi
mov dword [ebp - 0x30], ebx
call fcn.0053eeff
add esp, 8
test eax, eax
js 0x49ef4e
cmp eax, dword [esi - 8]
jg 0x49ef4e
mov dword [esi - 0xc], eax
xor ecx, ecx
mov word [esi + eax*2], cx
mov esi, dword [ebp - 0x28]
cmp dword [esi - 4], 1
mov edi, dword [esi - 0xc]
jle 0x49e7b2
push edi
lea ecx, [ebp - 0x28]
call fcn.00468ae0
mov esi, dword [ebp - 0x28]
xor edx, edx
cmp byte [ebp - 8], dl
jne 0x49e7c8
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x20]
call dword [eax + 4]
mov byte [ebp - 8], 1
xor edx, edx
lea eax, [edi + edi]
xor edi, edi
test eax, eax
je 0x49e7ed
mov ebx, eax
movzx ecx, byte [edi + esi]
inc edi
movzx eax, dl
xor ecx, eax
shr edx, 8
mov eax, dword [ebp - 0x14]
xor edx, dword [eax + ecx*4]
cmp edi, ebx
jb 0x49e7d3
mov ebx, dword [ebp - 0x30]
push dword [esi - 8]
xor edx, 0x55
push esi
mov dword [ebp - 0x128], edx
call fcn.0053eeff
add esp, 8
test eax, eax
js 0x49ef4e
cmp eax, dword [esi - 8]
jg 0x49ef4e
mov edi, dword [ebp - 0x40]
xor ecx, ecx
mov dword [esi - 0xc], eax
mov word [esi + eax*2], cx
cmp dword [edi - 4], 1
mov eax, dword [edi - 0xc]
mov dword [ebp - 0x24], eax
jle 0x49e837
push eax
lea ecx, [ebp - 0x40]
call fcn.00468ae0
mov edi, dword [ebp - 0x40]
xor edx, edx
cmp byte [ebp - 8], dl
jne 0x49e84d
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x20]
call dword [eax + 4]
mov byte [ebp - 8], 1
xor edx, edx
mov eax, dword [ebp - 0x24]
add eax, eax
je 0x49e875
xor esi, esi
mov ebx, eax
movzx ecx, byte [esi + edi]
inc esi
movzx eax, dl
xor ecx, eax
shr edx, 8
mov eax, dword [ebp - 0x14]
xor edx, dword [eax + ecx*4]
cmp esi, ebx
jb 0x49e858
mov esi, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x30]
push dword [edi - 8]
xor edx, 0x55
push edi
mov dword [ebp - 0x130], edx
call fcn.0053eeff
add esp, 8
test eax, eax
js 0x49ef4e
cmp eax, dword [edi - 8]
jg 0x49ef4e
mov dword [edi - 0xc], eax
xor ecx, ecx
mov word [edi + eax*2], cx
mov edi, dword [ebp - 0x48]
cmp dword [edi - 4], 1
mov eax, dword [edi - 0xc]
mov dword [ebp - 0x24], eax
jle 0x49e8bf
push eax
lea ecx, [ebp - 0x48]
call fcn.00468ae0
mov edi, dword [ebp - 0x48]
xor edx, edx
cmp byte [ebp - 8], dl
jne 0x49e8d5
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x20]
call dword [eax + 4]
mov byte [ebp - 8], 1
xor edx, edx
mov eax, dword [ebp - 0x24]
add eax, eax
je 0x49e8fd
xor esi, esi
mov ebx, eax
movzx ecx, byte [esi + edi]
inc esi
movzx eax, dl
xor ecx, eax
shr edx, 8
mov eax, dword [ebp - 0x14]
xor edx, dword [eax + ecx*4]
cmp esi, ebx
jb 0x49e8e0
mov esi, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x30]
push dword [edi - 8]
xor edx, 0x55
push edi
mov dword [ebp - 0x12c], edx
call fcn.0053eeff
add esp, 8
test eax, eax
js 0x49ef4e
cmp eax, dword [edi - 8]
jg 0x49ef4e
mov dword [edi - 0xc], eax
xor ecx, ecx
mov word [edi + eax*2], cx
mov edi, dword [ebp - 0x34]
cmp dword [edi - 4], 1
mov eax, dword [edi - 0xc]
mov dword [ebp - 0x24], eax
jle 0x49e947
push eax
lea ecx, [ebp - 0x34]
call fcn.00468ae0
mov edi, dword [ebp - 0x34]
xor edx, edx
cmp byte [ebp - 8], dl
jne 0x49e95d
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x20]
call dword [eax + 4]
mov byte [ebp - 8], 1
xor edx, edx
mov eax, dword [ebp - 0x24]
add eax, eax
je 0x49e985
xor esi, esi
mov ebx, eax
movzx ecx, byte [esi + edi]
inc esi
movzx eax, dl
xor ecx, eax
shr edx, 8
mov eax, dword [ebp - 0x14]
xor edx, dword [eax + ecx*4]
cmp esi, ebx
jb 0x49e968
mov esi, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x30]
push dword [edi - 8]
xor edx, 0x55
push edi
mov dword [ebp - 0x134], edx
call fcn.0053eeff
add esp, 8
test eax, eax
js 0x49ef4e
cmp eax, dword [edi - 8]
jg 0x49ef4e
mov dword [edi - 0xc], eax
xor ecx, ecx
mov word [edi + eax*2], cx
mov edi, dword [ebp - 0x44]
cmp dword [edi - 4], 1
mov eax, dword [edi - 0xc]
mov dword [ebp - 0x24], eax
jle 0x49e9cf
push eax
lea ecx, [ebp - 0x44]
call fcn.00468ae0
mov edi, dword [ebp - 0x44]
xor edx, edx
cmp byte [ebp - 8], dl
jne 0x49e9e5
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x20]
call dword [eax + 4]
mov byte [ebp - 8], 1
xor edx, edx
mov eax, dword [ebp - 0x24]
add eax, eax
je 0x49ea0d
xor esi, esi
mov ebx, eax
movzx ecx, byte [esi + edi]
inc esi
movzx eax, dl
xor ecx, eax
shr edx, 8
mov eax, dword [ebp - 0x14]
xor edx, dword [eax + ecx*4]
cmp esi, ebx
jb 0x49e9f0
mov esi, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x30]
push dword [edi - 8]
xor edx, 0x55
push edi
mov dword [ebp - 0x138], edx
call fcn.0053eeff
add esp, 8
test eax, eax
js 0x49ef4e
cmp eax, dword [edi - 8]
jg 0x49ef4e
mov dword [edi - 0xc], eax
xor ecx, ecx
mov word [edi + eax*2], cx
mov edi, dword [ebp - 0x3c]
cmp dword [edi - 4], 1
mov eax, dword [edi - 0xc]
mov dword [ebp - 0x24], eax
jle 0x49ea57
push eax
lea ecx, [ebp - 0x3c]
call fcn.00468ae0
mov edi, dword [ebp - 0x3c]
xor edx, edx
cmp byte [ebp - 8], dl
jne 0x49ea6d
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x20]
call dword [eax + 4]
mov byte [ebp - 8], 1
xor edx, edx
mov eax, dword [ebp - 0x24]
add eax, eax
je 0x49ea95
xor ebx, ebx
mov esi, eax
movzx ecx, byte [ebx + edi]
inc ebx
movzx eax, dl
xor ecx, eax
shr edx, 8
mov eax, dword [ebp - 0x14]
xor edx, dword [eax + ecx*4]
cmp ebx, esi
jb 0x49ea78
mov esi, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x30]
push dword [edi - 8]
xor edx, 0x55
push edi
mov dword [ebp - 0x13c], edx
call fcn.0053eeff
add esp, 8
test eax, eax
js 0x49ef4e
cmp eax, dword [edi - 8]
jg 0x49ef4e
mov dword [edi - 0xc], eax
xor ecx, ecx
mov word [edi + eax*2], cx
mov eax, dword [ebp - 0x2c]
cmp dword [eax - 4], 1
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x120], ecx
jle 0x49eadf
push ecx
lea ecx, [ebp - 0x2c]
call fcn.00468ae0
cmp byte [ebp - 8], 0
mov dword [ebp - 0x24], 0
jne 0x49eaf9
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x20]
call dword [eax + 4]
mov byte [ebp - 8], 1
mov eax, dword [ebp - 0x120]
add eax, eax
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x2c]
je 0x49eb39
mov edi, dword [ebp - 0x120]
xor ebx, ebx
xor esi, esi
movzx edx, byte [esi + eax]
inc esi
movzx ecx, bl
xor edx, ecx
shr ebx, 8
mov ecx, dword [ebp - 0x14]
xor ebx, dword [ecx + edx*4]
cmp esi, edi
jb 0x49eb16
mov esi, dword [ebp - 0x28]
mov edi, dword [ebp - 0x3c]
mov dword [ebp - 0x24], ebx
mov ebx, dword [ebp - 0x30]
push dword [eax - 8]
xor dword [ebp - 0x24], 0x55
push eax
call fcn.0053eeff
mov ecx, eax
add esp, 8
test ecx, ecx
js 0x49ef4e
mov eax, dword [ebp - 0x2c]
cmp ecx, dword [eax - 8]
jg 0x49ef4e
push dword [ebp - 0x24]
mov dword [eax - 0xc], ecx
xor edx, edx
push dword [ebp - 0x13c]
mov word [eax + ecx*2], dx
lea eax, [ebp - 0x48]
push dword [ebp - 0x138]
mov dword [ebp - 0x11c], 0x35314159
push dword [ebp - 0x134]
mov dword [ebp - 0x118], 0x73566864
push dword [ebp - 0x12c]
mov dword [ebp - 0x114], 0x68747762
push dword [ebp - 0x130]
mov dword [ebp - 0x110], 0x72355264
push dword [ebp - 0x128]
mov dword [ebp - 0x10c], 0x6b647861
push ebx
sub esp, 0xc
mov dword [ebp - 0x108], 0x6f4e4259
mov ecx, esp
mov dword [ebp - 0x104], 0x6831425a
mov dword [ebp - 0x100], 0x59344166
mov dword [ebp - 0xfc], 0x38736d50
push dword [ebp - 0x124]
mov dword [ebp - 0xf8], 0x516b674d
push eax
lea eax, [ebp - 0x11c]
mov dword [ebp - 0xf4], 0x41635464
mov dword [ebp - 0xf0], 0x33426d41
mov dword [ebp - 0xec], 0x626b444b
mov dword [ebp - 0xe8], 0x6e6f5350
mov dword [ebp - 0xe4], 0x3752674e
mov dword [ebp - 0xe0], 0x4e77584e
mov dword [ebp - 0xdc], 0x57595246
mov dword [ebp - 0xd8], 0x695a4344
mov dword [ebp - 0xd4], 0x2f6b3249
mov dword [ebp - 0xd0], 0x41776e64
mov dword [ebp - 0xcc], 0x42776863
mov dword [ebp - 0xc8], 0x4d346741
mov dword [ebp - 0xc4], 0x66514250
mov dword [ebp - 0xc0], 0x66553341
mov dword [ebp - 0xbc], 0x63496741
mov dword [ebp - 0xb8], 0x4345424c
mov dword [ebp - 0xb4], 0x4c304142
mov dword [ebp - 0xb0], 0x37346943
mov dword [ebp - 0xac], 0x6b786966
mov dword [ebp - 0xa8], 0x71736e63
mov dword [ebp - 0xa4], 0x4d30474b
mov dword [ebp - 0xa0], 0x78776a5a
mov dword [ebp - 0x9c], 0x66416966
mov dword [ebp - 0x98], 0x4d6b4242
mov dword [ebp - 0x94], 0x7549774b
mov dword [ebp - 0x90], 0x7649544e
mov dword [ebp - 0x8c], 0x634d434a
mov dword [ebp - 0x88], 0x79596d46
mov dword [ebp - 0x84], 0x726b4341
mov dword [ebp - 0x80], 0x31515345
mov dword [ebp - 0x7c], 0x62494246
mov dword [ebp - 0x78], 0x55637947
mov dword [ebp - 0x74], 0x76415243
mov dword [ebp - 0x70], 0x734d484a
mov dword [ebp - 0x6c], 0x4755794a
mov dword [ebp - 0x68], 0x4138514e
mov dword [ebp - 0x64], 0x2f636744
mov dword [ebp - 0x60], 0x6a496961
mov dword [ebp - 0x5c], 0x61674763
mov dword [ebp - 0x58], 0x49413265
mov dword [ebp - 0x54], 0x7a38774a
mov dword [ebp - 0x50], 0x41513350
mov dword [ebp - 0x4c], 0x45434141
push eax
push edx
mov dword [ecx], edx
mov dword [ecx + 4], edx
mov dword [ecx + 8], edx
call fcn.004660a0
lea eax, [ebp - 0x148]
push eax
call fcn.00480790
add esp, 0x10
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
sar eax, 1
je 0x49ef44
push ecx
push dword [ebp - 0x124]
call fcn.004be710
mov eax, dword [ebp - 0x148]
add esp, 0x28
test eax, eax
je 0x49eddc
push eax
call fcn.0053c1e0
add esp, 4
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], 0x58275c
test eax, eax
je 0x49ee08
push eax
call fcn.0053c1e0
add esp, 4
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0
mov edx, dword [ebp - 0x2c]
or ebx, 0xffffffff
add edx, 0xfffffff0
mov eax, ebx
lea ecx, [edx + 0xc]
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x49ee27
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add edi, 0xfffffff0
mov ecx, ebx
lea eax, [edi + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x49ee40
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x44]
mov ecx, ebx
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x49ee5c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x34]
mov ecx, ebx
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x49ee78
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x48]
mov ecx, ebx
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x49ee94
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x40]
mov ecx, ebx
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x49eeb0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov ecx, ebx
lea eax, [esi + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x49eec9
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x38]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ebx
dec ebx
test ebx, ebx
jg 0x49eee3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0053d3a0
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.00468960
push 0x80004005
call fcn.00468960
push 0x80004005
call fcn.00468960
push 0x80004005
call fcn.00468960
push 0x80004005
call fcn.00468960
push 0x80004005
call fcn.00468960
push 0x80004005
call fcn.00468960
push 0x80004005
call fcn.00468960
push str.invalid_vector_T__subscript
call fcn.0053af06
push 0x80070057
call fcn.00468960
int3