Function at 0x496900
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push esi
push edi
push ebx
sub esp, 0x2c0
mov edi, 1
mov ecx, dword [0x52ec00]
xor ecx, ebp
mov esi, dword [ebp + 0x14]
xor edx, edx
test esi, esi
mov dword [ebp - 0x10], ecx
mov ecx, 0
setne dl
mov ebx, dword [ebp + 8]
dec edx
mov dword [ebp - 0x1ac], edx
mov eax, ebx
mov edx, 2
mov dword [ebp - 0x20], 0x5453494c
mov dword [ebp - 0x1c], 0x45524944
mov dword [ebp - 0x18], 0x44455443
mov byte [ebp - 0x14], cl
mov dword [ebp - 0x1a8], ecx
mov dword [ebp - 0x1a4], ecx
mov dword [ebp - 0x1a0], edi
mov dword [ebp - 0x19c], edi
mov dword [ebp - 0x198], ecx
mov dword [ebp - 0x194], ecx
mov dword [ebp - 0x190], ecx
mov dword [ebp - 0x18c], ecx
call fcn.00496230
test eax, eax
je 0x496a48
test esi, esi
jne 0x496a28
mov edx, dword [ebx + 0x20]
test edx, edx
je 0x497030
test byte [edx + 0x44], 2
je 0x4969e2
mov dword [edx + 0x38], eax
mov edx, dword [ebx + 0x20]
mov dword [edx + 0x3c], eax
mov edx, dword [ebx + 0x7c]
test edx, edx
je 0x4969c2
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [ebx + 0x7c], ecx
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x52ec00]
jne 0x49702b
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
movzx edx, byte [ebx + 0x1ae]
and edx, 0x10
movzx ecx, byte [ebx + 0x1a4]
push eax
shr edx, 1
and ecx, 7
push eax
or ecx, edx
push ecx
push 0xffffffffffffffff
push ebx
call fcn.00486b00
add esp, 0x14
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x52ec00]
jne 0x49702b
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x52ec00]
jne 0x49702b
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov edx, dword [ebx + 0x94]
test edx, edx
je 0x496a56
mov byte [edx + 0x1f], 1
mov edi, dword [ebx + 0x74]
xor edx, edx
mov byte [ebp - 0x1b0], dl
mov byte [ebp - 0x278], dl
mov dword [ebp - 0x2c0], edi
mov dword [ebp - 0x288], edx
mov edx, 0x28
xor ecx, ecx
mov dword [ebp + edx - 0x2b4], ecx
mov dword [ebp + edx - 0x2b8], ecx
mov dword [ebp + edx - 0x2bc], ecx
mov dword [ebp + edx - 0x2c0], ecx
mov dword [ebp + edx - 0x2c4], ecx
sub edx, 0x14
jne 0x496a7a
mov dword [ebp - 0x2ac], 0
lea edx, [ebp - 0x2b0]
mov dword [ebx + 0x74], edx
mov edx, dword [ebx + 0x124]
test esi, esi
je 0x496ad0
cmp edx, 0xfffffffb
jne 0x496ad0
mov dword [ebp - 0x280], 0xfffffffa
jmp 0x496ad6
mov dword [ebp - 0x280], edx
mov dword [ebp - 0x27c], 0
lea ecx, [ebp - 0x20]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x496afa
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x496ae5
dec eax
push 0xc8
push eax
inc word [ebx + 0x18a]
lea esi, [ebp - 0x278]
push esi
lea edi, [ebp - 0x27c]
push edi
lea edx, [ebp - 0x1ac]
push edx
push ecx
movzx edx, byte [esi]
lea ecx, [ebp - 0x280]
push ecx
mov ecx, dword [ebp + 0xc]
mov byte [esi], 0
push dword [ecx]
mov dword [esi - 0x4c], edx
call dword [ecx + 0xc]
add esp, 0x20
cmp byte [ebp - 0x278], 0
je 0x496b48
mov edi, 1
jmp 0x496b58
mov edx, dword [ebp - 0x2c4]
xor eax, eax
mov byte [ebp - 0x278], dl
xor edi, edi
mov edx, dword [ebp - 0x2c0]
mov dword [ebx + 0x74], edx
dec word [ebx + 0x18a]
mov edx, dword [ebp - 0x2ac]
mov esi, dword [ebp - 0x27c]
test edx, edx
jne 0x4971c1
mov eax, ebx
mov edx, 2
call fcn.00496610
mov edx, dword [ebp + 0xc]
cmp dword [edx + 8], 0x3f
je 0x4971aa
cmp dword [ebp + 0x10], 0
je 0x496ba2
mov dword [ebx + 0x60], 0
test esi, esi
jne 0x496c8b
movzx edx, byte [ebx + 0x1ad]
test edi, edi
je 0x496c60
test dl, 0x40
je 0x496c60
mov edx, dword [ebx + 0x20]
test edx, edx
je 0x497056
test byte [edx + 0x44], 2
je 0x496c15
mov ecx, 0xff
mov dword [edx + 0x38], ecx
mov edx, dword [ebx + 0x20]
mov dword [edx + 0x3c], ecx
mov edx, dword [ebx + 0x7c]
test edx, edx
je 0x496bf0
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [ebx + 0x7c], ecx
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x52ec00]
jne 0x49702b
mov eax, 0xff
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
movzx ecx, byte [ebx + 0x1ae]
mov edx, 0xff
and ecx, 0x10
movzx esi, byte [ebx + 0x1a4]
push edx
shr ecx, 1
and esi, 7
push edx
or esi, ecx
push esi
push 0xffffffffffffffff
push ebx
call fcn.00486b00
add esp, 0x14
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x52ec00]
jne 0x49702b
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
and edx, 0xffffffef
mov byte [ebx + 0x1ad], dl
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x52ec00]
jne 0x49702b
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
test byte [ebx + 0x1ad], 0x40
je 0x496de5
cmp esi, 0xfffffffe
jge 0x496d3f
mov edx, dword [ebx + 0x20]
test edx, edx
je 0x497081
test byte [edx + 0x44], 2
je 0x496cf4
mov ecx, 0x110
mov dword [edx + 0x38], ecx
mov edx, dword [ebx + 0x20]
mov dword [edx + 0x3c], ecx
mov edx, dword [ebx + 0x7c]
test edx, edx
je 0x496ccf
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [ebx + 0x7c], ecx
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x52ec00]
jne 0x49702b
mov eax, 0x110
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
movzx ecx, byte [ebx + 0x1ae]
mov edx, 0x110
and ecx, 0x10
movzx esi, byte [ebx + 0x1a4]
push edx
shr ecx, 1
and esi, 7
push edx
or esi, ecx
push esi
push 0xffffffffffffffff
push ebx
call fcn.00486b00
add esp, 0x14
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x52ec00]
jne 0x49702b
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
test edi, edi
jne 0x496de5
mov edx, dword [ebx + 0x20]
test edx, edx
je 0x4970ac
test byte [edx + 0x44], 2
je 0x496d9a
mov ecx, 0x111
mov dword [edx + 0x38], ecx
mov edx, dword [ebx + 0x20]
mov dword [edx + 0x3c], ecx
mov edx, dword [ebx + 0x7c]
test edx, edx
je 0x496d75
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [ebx + 0x7c], ecx
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x52ec00]
jne 0x49702b
mov eax, 0x111
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
movzx ecx, byte [ebx + 0x1ae]
mov edx, 0x111
and ecx, 0x10
movzx esi, byte [ebx + 0x1a4]
push edx
shr ecx, 1
and esi, 7
push edx
or esi, ecx
push esi
push 0xffffffffffffffff
push ebx
call fcn.00486b00
add esp, 0x14
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x52ec00]
jne 0x49702b
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
test edi, edi
je 0x496ed3
cmp dword [ebx + 0x114], 0
jne 0x496ed3
lea ecx, [ebp - 0x278]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x496e17
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x496e02
dec eax
mov dword [ebx + 0x114], eax
lea edx, [ebx + 0x9c]
push edx
push 0
inc eax
push eax
call fcn.00480eb0
add esp, 0xc
test eax, eax
je 0x496ec7
mov edx, dword [ebx + 0x20]
test edx, edx
je 0x4970db
test byte [edx + 0x44], 2
je 0x496e81
mov dword [edx + 0x38], eax
mov edx, dword [ebx + 0x20]
mov dword [edx + 0x3c], eax
mov edx, dword [ebx + 0x7c]
test edx, edx
je 0x496e61
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [ebx + 0x7c], ecx
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x52ec00]
jne 0x49702b
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
movzx edx, byte [ebx + 0x1ae]
and edx, 0x10
movzx ecx, byte [ebx + 0x1a4]
push eax
shr edx, 1
and ecx, 7
push eax
or ecx, edx
push ecx
push 0xffffffffffffffff
push ebx
call fcn.00486b00
add esp, 0x14
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x52ec00]
jne 0x49702b
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov dword [ebp - 0x284], 1
jmp 0x496edd
mov dword [ebp - 0x284], 0
test edi, edi
je 0x496f9a
mov ecx, dword [ebx + 0x9c]
mov edx, dword [ebx + 0x114]
mov dword [ebp - 0x2c0], 0
cmp byte [ebp - 0x278], 0
je 0x496f31
mov ebx, dword [ebp - 0x2c0]
cmp ebx, edx
jge 0x4971a2
movzx eax, byte [ebp + ebx - 0x278]
mov byte [ebx + ecx], al
inc ebx
cmp byte [ebp + ebx - 0x278], 0
jne 0x496f0a
mov dword [ebp - 0x2c0], ebx
mov ebx, dword [ebp + 8]
cmp edx, dword [ebp - 0x2c0]
jle 0x496f68
mov eax, edx
sub eax, dword [ebp - 0x2c0]
mov dword [ebp - 0x2b8], eax
cmp eax, 0x60
jle 0x497130
mov eax, dword [ebp - 0x2c0]
add ecx, eax
inc eax
sub edx, eax
inc edx
push edx
push 0x20
push ecx
call fcn.004c6960
add esp, 0xc
xor edx, edx
cmp edx, dword [ebp - 0x284]
mov eax, dword [ebx + 0x114]
adc eax, 0
mov ecx, dword [ebx + 0x9c]
shl edi, 4
mov byte [ecx + eax], dl
movzx edx, byte [ebx + 0x1ad]
or edx, 8
and edx, 0xffffffef
or edx, edi
mov byte [ebx + 0x1ad], dl
mov edx, dword [ebx + 0x20]
test edx, edx
je 0x497105
test byte [edx + 0x44], 2
je 0x496fe8
mov dword [edx + 0x38], 0x7f
mov edx, dword [ebx + 0x20]
mov dword [edx + 0x3c], esi
mov edx, dword [ebx + 0x7c]
test edx, edx
je 0x496fc7
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [ebx + 0x7c], ecx
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x52ec00]
jne 0x49702b
mov eax, 0x7f
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
movzx edx, byte [ebx + 0x1ae]
and edx, 0x10
movzx ecx, byte [ebx + 0x1a4]
push esi
shr edx, 1
and ecx, 7
push 0x7f
or ecx, edx
push ecx
push 0xffffffffffffffff
push ebx
call fcn.00486b00
add esp, 0x14
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x52ec00]
jne 0x49702b
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
call fcn.004cba1b
push ebx
push eax
push eax
push 1
call fcn.0047d070
add esp, 0x10
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x52ec00]
jne 0x49702b
jmp 0x4969da
push ebx
mov eax, 0xff
push eax
push eax
push 1
call fcn.0047d070
add esp, 0x10
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x52ec00]
jne 0x49702b
jmp 0x4969da
push ebx
mov eax, 0x110
push eax
push eax
push 1
call fcn.0047d070
add esp, 0x10
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x52ec00]
jne 0x49702b
jmp 0x4969da
push ebx
mov eax, 0x111
push eax
push eax
push 1
call fcn.0047d070
add esp, 0x10
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x52ec00]
jne 0x49702b
jmp 0x4969da
push ebx
push eax
push eax
push 1
call fcn.0047d070
add esp, 0x10
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x52ec00]
jne 0x49702b
jmp 0x4969da
push ebx
push esi
push 0x7f
push 1
call fcn.0047d070
add esp, 0x10
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x52ec00]
jne 0x49702b
jmp 0x4969da
mov edx, eax
shr edx, 1
mov dword [ebp - 0x2b4], edx
je 0x49719b
mov eax, dword [ebp - 0x2c0]
xor edx, edx
mov dword [ebp - 0x2c4], edi
mov edi, dword [ebp - 0x2b4]
add eax, ecx
mov dword [ebp - 0x2bc], eax
mov eax, 0x20
mov ebx, dword [ebp - 0x2bc]
mov byte [ebx + edx*2], al
mov byte [ebx + edx*2 + 1], al
inc edx
cmp edx, edi
jb 0x497163
mov edi, dword [ebp - 0x2c4]
lea eax, [edx + edx + 1]
mov ebx, dword [ebp + 8]
lea edx, [eax - 1]
cmp edx, dword [ebp - 0x2b8]
jae 0x496f68
add ecx, dword [ebp - 0x2c0]
mov byte [eax + ecx - 1], 0x20
jmp 0x496f68
mov eax, 1
jmp 0x49717c
mov ebx, dword [ebp + 8]
jmp 0x496f68
mov edx, dword [ebp + 0xc]
mov edx, dword [edx + 0x10]
test edx, edx
je 0x496b95
or dword [edx + 0xc], 0x40
jmp 0x496b95
push edx
call fcn.00480f70
add esp, 4
mov dword [ebp - 0x2ac], 0
jmp 0x496b7c