Function at 0x499240
Capabilities:
Contain obfuscated stackstrings
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4f218c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x114
push ebx
push ebp
push esi
push edi
mov ebp, ecx
mov bl, 4
push 6
push 0x512940
lea ecx, [esp + 0x20]
mov byte [esp + 0x24], 0
mov byte [esp + 0x25], bl
mov byte [esp + 0x26], bl
mov byte [esp + 0x27], bl
mov byte [esp + 0x28], bl
mov byte [esp + 0x29], 5
mov byte [esp + 0x2a], 5
mov byte [esp + 0x2b], 5
mov byte [esp + 0x2c], 5
mov byte [esp + 0x2d], 6
mov byte [esp + 0x2e], 6
mov byte [esp + 0x2f], 6
mov byte [esp + 0x30], 7
mov byte [esp + 0x31], 7
mov byte [esp + 0x32], 7
mov byte [esp + 0x33], 7
mov byte [esp + 0x34], 8
mov byte [esp + 0x35], 8
mov byte [esp + 0x36], 8
mov byte [esp + 0x37], 8
mov byte [esp + 0x38], 9
mov byte [esp + 0x39], 9
mov byte [esp + 0x3a], 9
mov byte [esp + 0x3b], 9
mov byte [esp + 0x3c], 0xa
mov byte [esp + 0x3d], 0xa
mov byte [esp + 0x3e], 0xa
mov byte [esp + 0x3f], 0xa
mov byte [esp + 0x40], 0xb
mov byte [esp + 0x41], 0xb
mov byte [esp + 0x42], 0xb
mov byte [esp + 0x43], 0xb
mov byte [esp + 0x44], 0
mov byte [esp + 0x45], 0x40
mov byte [esp + 0x46], 0x10
mov byte [esp + 0x47], bl
mov byte [esp + 0x48], 1
mov byte [esp + 0x49], 0x40
mov byte [esp + 0x4a], 0x10
mov byte [esp + 0x4b], bl
mov byte [esp + 0x4c], 1
mov byte [esp + 0x4d], 0x10
mov byte [esp + 0x4e], bl
mov byte [esp + 0x4f], 1
mov byte [esp + 0x50], 0x40
mov byte [esp + 0x51], 0x10
mov byte [esp + 0x52], bl
mov byte [esp + 0x53], 1
mov byte [esp + 0x54], 0x40
mov byte [esp + 0x55], 0x10
mov byte [esp + 0x56], bl
mov byte [esp + 0x57], 1
mov byte [esp + 0x58], 0x40
mov byte [esp + 0x59], 0x10
mov byte [esp + 0x5a], bl
mov byte [esp + 0x5b], 1
mov byte [esp + 0x5c], 0x40
mov byte [esp + 0x5d], 0x10
mov byte [esp + 0x5e], bl
mov byte [esp + 0x5f], 1
mov byte [esp + 0x60], 0x40
mov byte [esp + 0x61], 0x10
mov byte [esp + 0x62], bl
mov byte [esp + 0x63], 1
call fcn.004be240
xor edi, edi
lea esi, [ebp + 0x74]
push edi
mov ecx, esi
mov dword [esp + 0x130], edi
call fcn.004be4c0
movzx ax, al
push eax
mov ecx, esi
call fcn.004be4c0
xor ecx, ecx
mov cl, byte [ebp + 0x40]
sub ecx, edi
je 0x499d49
sub ecx, 0x20
je 0x499a1a
dec ecx
je 0x4997cb
push 6
push 0x512938
lea ecx, [esp + 0x78]
call fcn.004be240
mov ecx, dword [ebp + 0x84]
lea ebx, [ebp + 0x7c]
push eax
push 1
push ecx
mov ecx, ebx
mov byte [esp + 0x138], 0xf
call fcn.004148e0
lea ecx, [esp + 0x70]
mov byte [esp + 0x12c], 0
call fcn.004be2e0
push 6
push 0x512930
lea ecx, [esp + 0x68]
call fcn.004be240
mov ecx, dword [ebx + 8]
push eax
push 1
push ecx
mov ecx, ebx
mov byte [esp + 0x138], 0x10
call fcn.004148e0
lea ecx, [esp + 0x60]
mov byte [esp + 0x12c], 0
call fcn.004be2e0
xor ecx, ecx
mov cl, byte [ebp + 0x40]
movzx dx, byte [esp + ecx + 0x1c]
push edx
mov ecx, esi
call fcn.004be4c0
xor ecx, ecx
mov cl, byte [ebp + 0x40]
test byte [esp + ecx + 0x3c], al
je 0x49961c
push ecx
mov byte [0x520051], 1
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x512938
call fcn.004be240
lea edx, [esp + 0xf8]
push edx
call fcn.004cfca0
add esp, 8
mov esi, eax
mov eax, dword [esi + 8]
mov ecx, dword [0x4f73d0]
mov edi, eax
mov byte [esp + 0x12c], 0x11
cmp ecx, edi
lea ebx, [ebp + 0x64]
mov dword [esp + 0x10], edi
jae 0x4994ca
mov dword [esp + 0x10], ecx
mov edi, ecx
cmp ebx, esi
jne 0x499532
mov eax, dword [ebx + 8]
mov esi, ecx
cmp eax, edi
jae 0x4994dc
call fcn.004de3d7
mov ecx, ebx
call fcn.00415170
mov eax, dword [ebx + 8]
sub eax, edi
cmp eax, esi
jae 0x4994ee
mov esi, eax
test esi, esi
jbe 0x499522
mov ecx, dword [ebx + 4]
sub eax, esi
add ecx, edi
push eax
lea edx, [ecx + esi]
push edx
push ecx
call fcn.004dea60
mov edi, dword [ebx + 8]
add esp, 0xc
sub edi, esi
mov ecx, ebx
push 0
push edi
call fcn.004144a0
test al, al
je 0x499522
push edi
mov ecx, ebx
call fcn.00414480
push 0
push 0
mov ecx, ebx
call fcn.00414360
jmp 0x4995b8
test edi, edi
jbe 0x49957a
cmp edi, eax
jne 0x49957a
mov eax, dword [esi + 4]
test eax, eax
jne 0x499546
mov eax, 0x4f7480
cmp byte [eax - 1], 0xfe
jae 0x49957a
push 1
mov ecx, ebx
call fcn.00414090
mov eax, dword [esi + 4]
test eax, eax
jne 0x499561
mov eax, 0x4f7480
mov dword [ebx + 4], eax
mov ecx, dword [esi + 8]
mov dword [ebx + 8], ecx
mov esi, dword [esi + 0xc]
mov dword [ebx + 0xc], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x4995b8
push 1
push edi
mov ecx, ebx
call fcn.004144a0
test al, al
je 0x4995b8
mov esi, dword [esi + 4]
test esi, esi
jne 0x499594
mov esi, 0x4f7480
mov eax, dword [ebx + 4]
mov ecx, edi
mov edx, ecx
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x10]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [ebx + 8], eax
mov ebx, dword [ebx + 4]
add ebx, eax
mov byte [ebx], 0
mov eax, dword [esp + 0xf8]
xor esi, esi
cmp eax, esi
mov byte [esp + 0x12c], 0
je 0x499602
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4995f9
cmp al, 0xff
je 0x4995f9
dec al
mov byte [ecx], al
mov dword [esp + 0xf8], esi
mov dword [esp + 0xfc], esi
mov dword [esp + 0x100], esi
jmp 0x4997b0
push ecx
call fcn.004de1a0
add esp, 4
mov dword [esp + 0xf8], esi
mov dword [esp + 0xfc], esi
mov dword [esp + 0x100], esi
jmp 0x4997b0
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x512930
call fcn.004be240
lea eax, [esp + 0x78]
push eax
call fcn.004cfca0
add esp, 8
mov esi, eax
mov eax, dword [esi + 8]
mov ecx, dword [0x4f73d0]
mov edi, eax
mov byte [esp + 0x12c], 0x12
cmp ecx, edi
lea ebx, [ebp + 0x64]
mov dword [esp + 0x10], edi
jae 0x499662
mov dword [esp + 0x10], ecx
mov edi, ecx
cmp ebx, esi
jne 0x4996c6
mov eax, dword [ebx + 8]
mov esi, ecx
cmp eax, edi
jae 0x499674
call fcn.004de3d7
mov ecx, ebx
call fcn.00415170
mov eax, dword [ebx + 8]
sub eax, edi
cmp eax, esi
jae 0x499686
mov esi, eax
test esi, esi
jbe 0x4996ba
mov ecx, dword [ebx + 4]
sub eax, esi
add ecx, edi
push eax
lea edx, [esi + ecx]
push edx
push ecx
call fcn.004dea60
mov edi, dword [ebx + 8]
add esp, 0xc
sub edi, esi
mov ecx, ebx
push 0
push edi
call fcn.004144a0
test al, al
je 0x4996ba
push edi
mov ecx, ebx
call fcn.00414480
mov ecx, ebx
call fcn.00415170
jmp 0x499772
test edi, edi
jbe 0x499734
cmp edi, eax
jne 0x499734
mov eax, dword [esi + 4]
test eax, eax
jne 0x4996da
mov eax, 0x4f7480
cmp byte [eax - 1], 0xfe
jae 0x499734
mov eax, dword [ebx + 4]
test eax, eax
je 0x499704
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4996fb
cmp al, 0xff
je 0x4996fb
dec al
mov byte [ecx], al
jmp 0x499704
push ecx
call fcn.004de1a0
add esp, 4
xor ecx, ecx
mov dword [ebx + 4], ecx
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], ecx
mov eax, dword [esi + 4]
cmp eax, ecx
jne 0x49971b
mov eax, 0x4f7480
mov dword [ebx + 4], eax
mov ecx, dword [esi + 8]
mov dword [ebx + 8], ecx
mov esi, dword [esi + 0xc]
mov dword [ebx + 0xc], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x499772
push 1
push edi
mov ecx, ebx
call fcn.004144a0
test al, al
je 0x499772
mov esi, dword [esi + 4]
test esi, esi
jne 0x49974e
mov esi, 0x4f7480
mov eax, dword [ebx + 4]
mov ecx, edi
mov edx, ecx
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x10]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 4]
mov dword [ebx + 8], eax
add eax, ecx
mov byte [eax], 0
mov eax, dword [esp + 0x78]
mov byte [esp + 0x12c], 0
test eax, eax
je 0x49979f
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x499796
cmp al, 0xff
je 0x499796
dec al
mov byte [ecx], al
jmp 0x49979f
push ecx
call fcn.004de1a0
add esp, 4
xor eax, eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
xor eax, eax
mov al, byte [ebp + 0x40]
mov cl, byte [esp + eax + 0x3c]
mov dl, byte [esp + eax + 0x1c]
push ecx
push edx
mov ecx, ebp
call fcn.004a30c0
jmp 0x499e1c
test al, al
jne 0x499871
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x512b38
call fcn.004be240
lea eax, [esp + 0xc8]
push eax
call fcn.004cfca0
add esp, 8
mov ecx, dword [0x4f73d0]
mov byte [esp + 0x12c], 0xa
push ecx
push edi
push eax
lea ecx, [ebp + 0x64]
call fcn.00413e90
mov eax, dword [esp + 0xc8]
mov byte [esp + 0x12c], 0
cmp eax, edi
je 0x499857
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x49984e
cmp al, 0xff
je 0x49984e
dec al
mov byte [ecx], al
mov dword [esp + 0xc8], edi
mov dword [esp + 0xcc], edi
mov dword [esp + 0xd0], edi
jmp 0x499992
push ecx
call fcn.004de1a0
add esp, 4
mov dword [esp + 0xc8], edi
mov dword [esp + 0xcc], edi
mov dword [esp + 0xd0], edi
jmp 0x499992
push ecx
cmp al, 1
mov ecx, esp
jne 0x499914
mov dword [esp + 0x18], esp
push 6
push 0x512b30
call fcn.004be240
lea edx, [esp + 0xe8]
push edx
call fcn.004cfca0
add esp, 8
mov ecx, dword [0x4f73d0]
mov byte [esp + 0x12c], 0xb
push ecx
push edi
push eax
lea ecx, [ebp + 0x64]
call fcn.00413e90
mov eax, dword [esp + 0xe8]
mov byte [esp + 0x12c], 0
cmp eax, edi
je 0x4998fd
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4998f4
cmp al, 0xff
je 0x4998f4
dec al
mov byte [ecx], al
mov dword [esp + 0xe8], edi
mov dword [esp + 0xec], edi
mov dword [esp + 0xf0], edi
jmp 0x499992
push ecx
call fcn.004de1a0
add esp, 4
mov dword [esp + 0xe8], edi
mov dword [esp + 0xec], edi
mov dword [esp + 0xf0], edi
jmp 0x499992
mov dword [esp + 0x18], esp
push 6
push 0x5128f0
call fcn.004be240
lea edx, [esp + 0xa8]
push edx
call fcn.004cfca0
add esp, 8
mov ecx, dword [0x4f73d0]
mov byte [esp + 0x12c], 0xc
push ecx
push edi
push eax
lea ecx, [ebp + 0x64]
call fcn.00413e90
mov eax, dword [esp + 0xa8]
mov byte [esp + 0x12c], 0
cmp eax, edi
je 0x49997d
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x499974
cmp al, 0xff
je 0x499974
dec al
mov byte [ecx], al
jmp 0x49997d
push ecx
call fcn.004de1a0
add esp, 4
mov dword [esp + 0xa8], edi
mov dword [esp + 0xac], edi
mov dword [esp + 0xb0], edi
push 6
push 0x512b38
lea ecx, [esp + 0x70]
mov byte [ebp + 0x41], 0
mov byte [ebp + 0x42], 1
call fcn.004be240
mov ecx, dword [ebp + 0x84]
lea esi, [ebp + 0x7c]
push eax
push 1
push ecx
mov ecx, esi
mov byte [esp + 0x138], 0xd
call fcn.004148e0
lea ecx, [esp + 0x68]
mov byte [esp + 0x12c], 0
call fcn.004be2e0
push 6
push 0x512b30
lea ecx, [esp + 0x64]
call fcn.004be240
mov ecx, dword [esi + 8]
push eax
push 1
push ecx
mov ecx, esi
mov byte [esp + 0x138], 0xe
call fcn.004148e0
lea ecx, [esp + 0x5c]
mov byte [esp + 0x12c], 0
call fcn.004be2e0
mov ecx, ebp
call fcn.004a2cb0
jmp 0x499e1c
test al, al
jne 0x499ac0
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x512b28
call fcn.004be240
lea edx, [esp + 0xb8]
push edx
call fcn.004cfca0
add esp, 8
mov ecx, dword [0x4f73d0]
mov byte [esp + 0x12c], 3
push ecx
push edi
push eax
lea ecx, [ebp + 0x64]
call fcn.00413e90
mov eax, dword [esp + 0xb8]
mov byte [esp + 0x12c], 0
cmp eax, edi
je 0x499aa6
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x499a9d
cmp al, 0xff
je 0x499a9d
dec al
mov byte [ecx], al
mov dword [esp + 0xb8], edi
mov dword [esp + 0xbc], edi
mov dword [esp + 0xc0], edi
jmp 0x499c86
push ecx
call fcn.004de1a0
add esp, 4
mov dword [esp + 0xb8], edi
mov dword [esp + 0xbc], edi
mov dword [esp + 0xc0], edi
jmp 0x499c86
cmp al, 1
jne 0x499b65
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x512b20
call fcn.004be240
lea edx, [esp + 0xd8]
push edx
call fcn.004cfca0
add esp, 8
mov ecx, dword [0x4f73d0]
mov byte [esp + 0x12c], bl
push ecx
push edi
push eax
lea ecx, [ebp + 0x64]
call fcn.00413e90
mov eax, dword [esp + 0xd8]
mov byte [esp + 0x12c], 0
cmp eax, edi
je 0x499b4b
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x499b42
cmp al, 0xff
je 0x499b42
dec al
mov byte [ecx], al
mov dword [esp + 0xd8], edi
mov dword [esp + 0xdc], edi
mov dword [esp + 0xe0], edi
jmp 0x499c86
push ecx
call fcn.004de1a0
add esp, 4
mov dword [esp + 0xd8], edi
mov dword [esp + 0xdc], edi
mov dword [esp + 0xe0], edi
jmp 0x499c86
push ecx
cmp al, 2
mov ecx, esp
jne 0x499c08
mov dword [esp + 0x18], esp
push 6
push 0x512b18
call fcn.004be240
lea edx, [esp + 0x88]
push edx
call fcn.004cfca0
add esp, 8
mov ecx, dword [0x4f73d0]
mov byte [esp + 0x12c], 5
push ecx
push edi
push eax
lea ecx, [ebp + 0x64]
call fcn.00413e90
mov eax, dword [esp + 0x88]
mov byte [esp + 0x12c], 0
cmp eax, edi
je 0x499bf1
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x499be8
cmp al, 0xff
je 0x499be8
dec al
mov byte [ecx], al
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], edi
mov dword [esp + 0x90], edi
jmp 0x499c86
push ecx
call fcn.004de1a0
add esp, 4
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], edi
mov dword [esp + 0x90], edi
jmp 0x499c86
mov dword [esp + 0x18], esp
push 6
push 0x5128f0
call fcn.004be240
lea edx, [esp + 0x98]
push edx
call fcn.004cfca0
add esp, 8
mov ecx, dword [0x4f73d0]
mov byte [esp + 0x12c], 6
push ecx
push edi
push eax
lea ecx, [ebp + 0x64]
call fcn.00413e90
mov eax, dword [esp + 0x98]
mov byte [esp + 0x12c], 0
cmp eax, edi
je 0x499c71
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x499c68
cmp al, 0xff
je 0x499c68
dec al
mov byte [ecx], al
jmp 0x499c71
push ecx
call fcn.004de1a0
add esp, 4
mov dword [esp + 0x98], edi
mov dword [esp + 0x9c], edi
mov dword [esp + 0xa0], edi
push 6
push 0x512b28
lea ecx, [esp + 0x6c]
mov byte [ebp + 0x41], 0
mov byte [ebp + 0x42], 1
mov byte [ebp + 0x43], 2
call fcn.004be240
mov ecx, dword [ebp + 0x84]
lea esi, [ebp + 0x7c]
push eax
push 1
push ecx
mov ecx, esi
mov byte [esp + 0x138], 7
call fcn.004148e0
lea ecx, [esp + 0x64]
mov byte [esp + 0x12c], 0
call fcn.004be2e0
push 6
push 0x512b20
lea ecx, [esp + 0x74]
call fcn.004be240
mov ecx, dword [esi + 8]
push eax
push 1
push ecx
mov ecx, esi
mov byte [esp + 0x138], 8
call fcn.004148e0
lea ecx, [esp + 0x6c]
mov byte [esp + 0x12c], 0
call fcn.004be2e0
push 6
push 0x512b18
lea ecx, [esp + 0x1c]
call fcn.004be240
mov ecx, dword [esi + 8]
push eax
push 1
push ecx
mov ecx, esi
mov byte [esp + 0x138], 9
call fcn.004148e0
lea ecx, [esp + 0x14]
mov byte [esp + 0x12c], 0
call fcn.004be2e0
mov ecx, ebp
call fcn.004a2cb0
jmp 0x499e1c
push 6
mov ecx, esi
call fcn.004be4c0
test al, 0x40
je 0x499dac
push ecx
mov byte [0x520051], 1
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x512928
call fcn.004be240
lea edx, [esp + 0x108]
push edx
call fcn.004cfca0
add esp, 8
mov ecx, dword [0x4f73d0]
mov byte [esp + 0x12c], 1
push ecx
push edi
push eax
lea ecx, [ebp + 0x64]
call fcn.00413e90
mov byte [esp + 0x12c], 0
push 1
lea ecx, [esp + 0x108]
jmp 0x499df9
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x512920
call fcn.004be240
lea edx, [esp + 0x118]
push edx
call fcn.004cfca0
add esp, 8
mov ecx, dword [0x4f73d0]
mov byte [esp + 0x12c], 2
push ecx
push edi
push eax
lea ecx, [ebp + 0x64]
call fcn.00413e90
mov byte [esp + 0x12c], 0
push 1
lea ecx, [esp + 0x118]
call fcn.00414090
push ecx
lea edx, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.004be1b0
push 3
push 0x40
push 6
mov ecx, ebp
call fcn.004a2e30
lea ecx, [esp + 0x18]
mov esi, eax
mov dword [esp + 0x12c], 0xffffffff
call fcn.004be2e0
mov ecx, dword [esp + 0x124]
mov ax, si
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x120
ret