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

Disassembly:
push 0xffffffffffffffff
push 0x4f21bc
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 0x512a94
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.004bea10
xor edi, edi
lea esi, [ebp + 0x78]
push edi
mov ecx, esi
mov dword [esp + 0x130], edi
call fcn.004bec90
movzx ax, al
push eax
mov ecx, esi
call fcn.004bec90
xor ecx, ecx
mov cl, byte [ebp + 0x44]
sub ecx, edi
je 0x499d12
sub ecx, 0x20
je 0x4999e0
dec ecx
je 0x49978e
push 6
push 0x512a8c
lea ecx, [esp + 0x78]
call fcn.004bea10
mov ecx, dword [ebp + 0x88]
lea ebx, [ebp + 0x80]
push eax
push 1
push ecx
mov ecx, ebx
mov byte [esp + 0x138], 0xf
call fcn.004126e0
lea ecx, [esp + 0x70]
mov byte [esp + 0x12c], 0
call fcn.004beab0
push 6
push 0x512a84
lea ecx, [esp + 0x68]
call fcn.004bea10
mov ecx, dword [ebx + 8]
push eax
push 1
push ecx
mov ecx, ebx
mov byte [esp + 0x138], 0x10
call fcn.004126e0
lea ecx, [esp + 0x60]
mov byte [esp + 0x12c], 0
call fcn.004beab0
xor ecx, ecx
mov cl, byte [ebp + 0x44]
movzx dx, byte [esp + ecx + 0x1c]
push edx
mov ecx, esi
call fcn.004bec90
xor ecx, ecx
mov cl, byte [ebp + 0x44]
test byte [esp + ecx + 0x3c], al
je 0x4995df
push ecx
mov byte [0x5201a9], 1
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x512a8c
call fcn.004bea10
lea edx, [esp + 0xf8]
push edx
call fcn.004d0560
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 + 0x68]
mov dword [esp + 0x10], edi
jae 0x49948d
mov dword [esp + 0x10], ecx
mov edi, ecx
cmp ebx, esi
jne 0x4994f5
mov eax, dword [ebx + 8]
mov esi, ecx
cmp eax, edi
jae 0x49949f
call fcn.004ded47
mov ecx, ebx
call fcn.00412f70
mov eax, dword [ebx + 8]
sub eax, edi
cmp eax, esi
jae 0x4994b1
mov esi, eax
test esi, esi
jbe 0x4994e5
mov ecx, dword [ebx + 4]
sub eax, esi
add ecx, edi
push eax
lea edx, [ecx + esi]
push edx
push ecx
call fcn.004df480
mov edi, dword [ebx + 8]
add esp, 0xc
sub edi, esi
mov ecx, ebx
push 0
push edi
call fcn.00412290
test al, al
je 0x4994e5
push edi
mov ecx, ebx
call fcn.00412270
push 0
push 0
mov ecx, ebx
call fcn.00412150
jmp 0x49957b
test edi, edi
jbe 0x49953d
cmp edi, eax
jne 0x49953d
mov eax, dword [esi + 4]
test eax, eax
jne 0x499509
mov eax, 0x4f7480
cmp byte [eax - 1], 0xfe
jae 0x49953d
push 1
mov ecx, ebx
call fcn.00411e90
mov eax, dword [esi + 4]
test eax, eax
jne 0x499524
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 0x49957b
push 1
push edi
mov ecx, ebx
call fcn.00412290
test al, al
je 0x49957b
mov esi, dword [esi + 4]
test esi, esi
jne 0x499557
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 0x4995c5
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4995bc
cmp al, 0xff
je 0x4995bc
dec al
mov byte [ecx], al
mov dword [esp + 0xf8], esi
mov dword [esp + 0xfc], esi
mov dword [esp + 0x100], esi
jmp 0x499773
push ecx
call fcn.004deb10
add esp, 4
mov dword [esp + 0xf8], esi
mov dword [esp + 0xfc], esi
mov dword [esp + 0x100], esi
jmp 0x499773
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x512a84
call fcn.004bea10
lea eax, [esp + 0x78]
push eax
call fcn.004d0560
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 + 0x68]
mov dword [esp + 0x10], edi
jae 0x499625
mov dword [esp + 0x10], ecx
mov edi, ecx
cmp ebx, esi
jne 0x499689
mov eax, dword [ebx + 8]
mov esi, ecx
cmp eax, edi
jae 0x499637
call fcn.004ded47
mov ecx, ebx
call fcn.00412f70
mov eax, dword [ebx + 8]
sub eax, edi
cmp eax, esi
jae 0x499649
mov esi, eax
test esi, esi
jbe 0x49967d
mov ecx, dword [ebx + 4]
sub eax, esi
add ecx, edi
push eax
lea edx, [esi + ecx]
push edx
push ecx
call fcn.004df480
mov edi, dword [ebx + 8]
add esp, 0xc
sub edi, esi
mov ecx, ebx
push 0
push edi
call fcn.00412290
test al, al
je 0x49967d
push edi
mov ecx, ebx
call fcn.00412270
mov ecx, ebx
call fcn.00412f70
jmp 0x499735
test edi, edi
jbe 0x4996f7
cmp edi, eax
jne 0x4996f7
mov eax, dword [esi + 4]
test eax, eax
jne 0x49969d
mov eax, 0x4f7480
cmp byte [eax - 1], 0xfe
jae 0x4996f7
mov eax, dword [ebx + 4]
test eax, eax
je 0x4996c7
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4996be
cmp al, 0xff
je 0x4996be
dec al
mov byte [ecx], al
jmp 0x4996c7
push ecx
call fcn.004deb10
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 0x4996de
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 0x499735
push 1
push edi
mov ecx, ebx
call fcn.00412290
test al, al
je 0x499735
mov esi, dword [esi + 4]
test esi, esi
jne 0x499711
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 0x499762
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x499759
cmp al, 0xff
je 0x499759
dec al
mov byte [ecx], al
jmp 0x499762
push ecx
call fcn.004deb10
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 + 0x44]
mov cl, byte [esp + eax + 0x3c]
mov dl, byte [esp + eax + 0x1c]
push ecx
push edx
mov ecx, ebp
call fcn.004a30d0
jmp 0x499de5
test al, al
jne 0x499834
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x512c8c
call fcn.004bea10
lea eax, [esp + 0xc8]
push eax
call fcn.004d0560
add esp, 8
mov ecx, dword [0x4f73d0]
mov byte [esp + 0x12c], 0xa
push ecx
push edi
push eax
lea ecx, [ebp + 0x68]
call fcn.00411c90
mov eax, dword [esp + 0xc8]
mov byte [esp + 0x12c], 0
cmp eax, edi
je 0x49981a
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x499811
cmp al, 0xff
je 0x499811
dec al
mov byte [ecx], al
mov dword [esp + 0xc8], edi
mov dword [esp + 0xcc], edi
mov dword [esp + 0xd0], edi
jmp 0x499955
push ecx
call fcn.004deb10
add esp, 4
mov dword [esp + 0xc8], edi
mov dword [esp + 0xcc], edi
mov dword [esp + 0xd0], edi
jmp 0x499955
push ecx
cmp al, 1
mov ecx, esp
jne 0x4998d7
mov dword [esp + 0x18], esp
push 6
push 0x512c84
call fcn.004bea10
lea edx, [esp + 0xe8]
push edx
call fcn.004d0560
add esp, 8
mov ecx, dword [0x4f73d0]
mov byte [esp + 0x12c], 0xb
push ecx
push edi
push eax
lea ecx, [ebp + 0x68]
call fcn.00411c90
mov eax, dword [esp + 0xe8]
mov byte [esp + 0x12c], 0
cmp eax, edi
je 0x4998c0
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4998b7
cmp al, 0xff
je 0x4998b7
dec al
mov byte [ecx], al
mov dword [esp + 0xe8], edi
mov dword [esp + 0xec], edi
mov dword [esp + 0xf0], edi
jmp 0x499955
push ecx
call fcn.004deb10
add esp, 4
mov dword [esp + 0xe8], edi
mov dword [esp + 0xec], edi
mov dword [esp + 0xf0], edi
jmp 0x499955
mov dword [esp + 0x18], esp
push 6
push 0x512a44
call fcn.004bea10
lea edx, [esp + 0xa8]
push edx
call fcn.004d0560
add esp, 8
mov ecx, dword [0x4f73d0]
mov byte [esp + 0x12c], 0xc
push ecx
push edi
push eax
lea ecx, [ebp + 0x68]
call fcn.00411c90
mov eax, dword [esp + 0xa8]
mov byte [esp + 0x12c], 0
cmp eax, edi
je 0x499940
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x499937
cmp al, 0xff
je 0x499937
dec al
mov byte [ecx], al
jmp 0x499940
push ecx
call fcn.004deb10
add esp, 4
mov dword [esp + 0xa8], edi
mov dword [esp + 0xac], edi
mov dword [esp + 0xb0], edi
push 6
push 0x512c8c
lea ecx, [esp + 0x70]
mov byte [ebp + 0x45], 0
mov byte [ebp + 0x46], 1
call fcn.004bea10
mov ecx, dword [ebp + 0x88]
lea esi, [ebp + 0x80]
push eax
push 1
push ecx
mov ecx, esi
mov byte [esp + 0x138], 0xd
call fcn.004126e0
lea ecx, [esp + 0x68]
mov byte [esp + 0x12c], 0
call fcn.004beab0
push 6
push 0x512c84
lea ecx, [esp + 0x64]
call fcn.004bea10
mov ecx, dword [esi + 8]
push eax
push 1
push ecx
mov ecx, esi
mov byte [esp + 0x138], 0xe
call fcn.004126e0
lea ecx, [esp + 0x5c]
mov byte [esp + 0x12c], 0
call fcn.004beab0
mov ecx, ebp
call fcn.004a2cc0
jmp 0x499de5
test al, al
jne 0x499a86
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x512c7c
call fcn.004bea10
lea edx, [esp + 0xb8]
push edx
call fcn.004d0560
add esp, 8
mov ecx, dword [0x4f73d0]
mov byte [esp + 0x12c], 3
push ecx
push edi
push eax
lea ecx, [ebp + 0x68]
call fcn.00411c90
mov eax, dword [esp + 0xb8]
mov byte [esp + 0x12c], 0
cmp eax, edi
je 0x499a6c
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x499a63
cmp al, 0xff
je 0x499a63
dec al
mov byte [ecx], al
mov dword [esp + 0xb8], edi
mov dword [esp + 0xbc], edi
mov dword [esp + 0xc0], edi
jmp 0x499c4c
push ecx
call fcn.004deb10
add esp, 4
mov dword [esp + 0xb8], edi
mov dword [esp + 0xbc], edi
mov dword [esp + 0xc0], edi
jmp 0x499c4c
cmp al, 1
jne 0x499b2b
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x512c74
call fcn.004bea10
lea edx, [esp + 0xd8]
push edx
call fcn.004d0560
add esp, 8
mov ecx, dword [0x4f73d0]
mov byte [esp + 0x12c], bl
push ecx
push edi
push eax
lea ecx, [ebp + 0x68]
call fcn.00411c90
mov eax, dword [esp + 0xd8]
mov byte [esp + 0x12c], 0
cmp eax, edi
je 0x499b11
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x499b08
cmp al, 0xff
je 0x499b08
dec al
mov byte [ecx], al
mov dword [esp + 0xd8], edi
mov dword [esp + 0xdc], edi
mov dword [esp + 0xe0], edi
jmp 0x499c4c
push ecx
call fcn.004deb10
add esp, 4
mov dword [esp + 0xd8], edi
mov dword [esp + 0xdc], edi
mov dword [esp + 0xe0], edi
jmp 0x499c4c
push ecx
cmp al, 2
mov ecx, esp
jne 0x499bce
mov dword [esp + 0x18], esp
push 6
push 0x512c6c
call fcn.004bea10
lea edx, [esp + 0x88]
push edx
call fcn.004d0560
add esp, 8
mov ecx, dword [0x4f73d0]
mov byte [esp + 0x12c], 5
push ecx
push edi
push eax
lea ecx, [ebp + 0x68]
call fcn.00411c90
mov eax, dword [esp + 0x88]
mov byte [esp + 0x12c], 0
cmp eax, edi
je 0x499bb7
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x499bae
cmp al, 0xff
je 0x499bae
dec al
mov byte [ecx], al
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], edi
mov dword [esp + 0x90], edi
jmp 0x499c4c
push ecx
call fcn.004deb10
add esp, 4
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], edi
mov dword [esp + 0x90], edi
jmp 0x499c4c
mov dword [esp + 0x18], esp
push 6
push 0x512a44
call fcn.004bea10
lea edx, [esp + 0x98]
push edx
call fcn.004d0560
add esp, 8
mov ecx, dword [0x4f73d0]
mov byte [esp + 0x12c], 6
push ecx
push edi
push eax
lea ecx, [ebp + 0x68]
call fcn.00411c90
mov eax, dword [esp + 0x98]
mov byte [esp + 0x12c], 0
cmp eax, edi
je 0x499c37
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x499c2e
cmp al, 0xff
je 0x499c2e
dec al
mov byte [ecx], al
jmp 0x499c37
push ecx
call fcn.004deb10
add esp, 4
mov dword [esp + 0x98], edi
mov dword [esp + 0x9c], edi
mov dword [esp + 0xa0], edi
push 6
push 0x512c7c
lea ecx, [esp + 0x6c]
mov byte [ebp + 0x45], 0
mov byte [ebp + 0x46], 1
mov byte [ebp + 0x47], 2
call fcn.004bea10
mov ecx, dword [ebp + 0x88]
lea esi, [ebp + 0x80]
push eax
push 1
push ecx
mov ecx, esi
mov byte [esp + 0x138], 7
call fcn.004126e0
lea ecx, [esp + 0x64]
mov byte [esp + 0x12c], 0
call fcn.004beab0
push 6
push 0x512c74
lea ecx, [esp + 0x74]
call fcn.004bea10
mov ecx, dword [esi + 8]
push eax
push 1
push ecx
mov ecx, esi
mov byte [esp + 0x138], 8
call fcn.004126e0
lea ecx, [esp + 0x6c]
mov byte [esp + 0x12c], 0
call fcn.004beab0
push 6
push 0x512c6c
lea ecx, [esp + 0x1c]
call fcn.004bea10
mov ecx, dword [esi + 8]
push eax
push 1
push ecx
mov ecx, esi
mov byte [esp + 0x138], 9
call fcn.004126e0
lea ecx, [esp + 0x14]
mov byte [esp + 0x12c], 0
call fcn.004beab0
mov ecx, ebp
call fcn.004a2cc0
jmp 0x499de5
push 6
mov ecx, esi
call fcn.004bec90
test al, 0x40
je 0x499d75
push ecx
mov byte [0x5201a9], 1
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x512a7c
call fcn.004bea10
lea edx, [esp + 0x108]
push edx
call fcn.004d0560
add esp, 8
mov ecx, dword [0x4f73d0]
mov byte [esp + 0x12c], 1
push ecx
push edi
push eax
lea ecx, [ebp + 0x68]
call fcn.00411c90
mov byte [esp + 0x12c], 0
push 1
lea ecx, [esp + 0x108]
jmp 0x499dc2
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x512a74
call fcn.004bea10
lea edx, [esp + 0x118]
push edx
call fcn.004d0560
add esp, 8
mov ecx, dword [0x4f73d0]
mov byte [esp + 0x12c], 2
push ecx
push edi
push eax
lea ecx, [ebp + 0x68]
call fcn.00411c90
mov byte [esp + 0x12c], 0
push 1
lea ecx, [esp + 0x118]
call fcn.00411e90
push ecx
lea edx, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.004be980
push 3
push 0x40
push 6
mov ecx, ebp
call fcn.004a2e40
lea ecx, [esp + 0x18]
mov esi, eax
mov dword [esp + 0x12c], 0xffffffff
call fcn.004beab0
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