Function at 0x81f819
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov eax, 0x8e1b74
call fcn.00879bb8
sub esp, 0x128
push ebx
push esi
mov ebx, ecx
push edi
mov dword [ebp - 0x3c], ebx
xor esi, esi
mov dword [ebp - 4], esi
lea edi, [ebx + 0x584]
mov dword [ebp - 0x24], esi
mov eax, dword [edi]
test eax, eax
je 0x81f85b
cmp esi, dword [eax - 4]
jae 0x81f85b
mov ecx, dword [ebp - 0x24]
add ecx, eax
call fcn.00820292
inc esi
add dword [ebp - 0x24], 0x44
jmp 0x81f83f
or dword [ebx + 0x574], 0xffffffff
mov ecx, edi
call fcn.00820dab
push 0
push 0
push ecx
mov eax, esp
mov dword [ebp - 0x44], esp
push 0x8d8
mov esi, 0x97bc68
push eax
mov ecx, esi
call fcn.00679e4e
and byte [ebp - 4], 0
lea eax, [ebp - 0x94]
push eax
lea ecx, [ebp + 8]
call fcn.0040263d
mov ecx, eax
call fcn.004048a4
mov ecx, eax
mov byte [ebp - 4], 2
call fcn.004032b4
and dword [ebp - 0x18], 0
test eax, eax
mov dword [ebp - 0x80], eax
je 0x81f8d2
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0x18]
call fcn.00404b30
test eax, eax
jge 0x81f8d2
cmp eax, 0x80004002
je 0x81f8d2
push eax
call fcn.00878dfb
lea eax, [ebp - 0x94]
push eax
mov byte [ebp - 4], 4
call fcn.00402bc3
test eax, eax
pop ecx
jge 0x81f8ed
push eax
call fcn.00878dfb
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x820231
call fcn.0040cf4d
test eax, eax
je 0x820231
push ecx
mov eax, esp
mov dword [ebp - 0x44], esp
push 0x3b2
push eax
mov ecx, esi
call fcn.00679e4e
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebx + 0x578]
mov byte [ebp - 4], 5
call fcn.004115d9
mov ecx, eax
call fcn.00404e7f
lea ecx, [ebp - 0x124]
push ecx
mov ecx, eax
mov byte [ebp - 4], 7
call fcn.0040263d
mov ecx, eax
call fcn.004048a4
push eax
lea eax, [ebp - 0x58]
push eax
mov byte [ebp - 4], 8
call fcn.00412348
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 9
call fcn.00416f14
lea ecx, [ebp - 0x58]
call fcn.004027b3
lea eax, [ebp - 0x124]
push eax
mov byte [ebp - 4], 0xc
call fcn.00402bc3
test eax, eax
pop ecx
jge 0x81f98b
push eax
call fcn.00878dfb
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0xb
call fcn.004027eb
cmp dword [ebp - 0x18], 0
jne 0x81f9a7
push 0x80004003
call fcn.00878dfb
mov ecx, dword [ebp - 0x18]
call fcn.0040cf4d
lea ecx, [ebp - 0x2d]
push ecx
push eax
mov ecx, edi
call fcn.00820de7
and dword [ebp - 0x24], 0
and dword [ebp - 0x48], 0
xor edi, edi
cmp dword [ebp - 0x18], edi
jne 0x81f9d4
push 0x80004003
call fcn.00878dfb
mov ecx, dword [ebp - 0x18]
call fcn.0040cf4d
cmp dword [ebp - 0x24], eax
jae 0x82025a
push 0x20
pop eax
call fcn.0087a1b0
mov eax, esp
push edi
push edi
push eax
push dword [ebp - 0x24]
call fcn.00412335
pop ecx
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
call fcn.004033a1
lea eax, [ebp - 0xc4]
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xb
call fcn.0040263d
mov ecx, eax
call fcn.004048a4
mov ecx, eax
mov byte [ebp - 4], 0xf
call fcn.004032b4
cmp eax, edi
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x14], edi
je 0x81fa52
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x14]
call fcn.00404b30
cmp eax, edi
jge 0x81fa52
cmp eax, 0x80004002
je 0x81fa52
push eax
call fcn.00878dfb
lea eax, [ebp - 0xc4]
push eax
mov byte [ebp - 4], 0x11
call fcn.00402bc3
cmp eax, edi
pop ecx
jge 0x81fa6d
push eax
call fcn.00878dfb
cmp dword [ebp - 0x14], edi
je 0x820221
mov edi, dword [ebp - 0x48]
add edi, dword [ebx + 0x584]
lea eax, [ebx + 0x584]
mov ecx, edi
call fcn.00820292
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
push 0xf80
push eax
mov ecx, esi
call fcn.00679e4e
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x11
call fcn.0040263d
mov ecx, eax
call fcn.004048a4
push eax
lea eax, [ebp - 0x84]
push eax
mov byte [ebp - 4], 0x13
call fcn.00412348
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x14
call fcn.00416f14
lea ecx, [ebp - 0x84]
call fcn.004027b3
lea eax, [ebp - 0x104]
push eax
mov byte [ebp - 4], 0x16
call fcn.00402bc3
test eax, eax
pop ecx
jge 0x81faff
push eax
call fcn.00878dfb
cmp dword [ebp - 0x2c], 0
jne 0x81fb0f
push 0x80004003
call fcn.00878dfb
cmp dword [ebp - 0x28], 0
jne 0x81fb1f
push 0x80004003
call fcn.00878dfb
mov ecx, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x28]
call fcn.00404a94
mov edx, eax
mov ecx, ebx
mov dword [ebp - 0x10], edx
call fcn.00404a94
mov ecx, dword [ebp - 0x10]
add ecx, eax
mov dword [edi], ecx
cmp dword [ebp - 0x2c], 0
jne 0x81fb4d
push 0x80004003
call fcn.00878dfb
cmp dword [ebp - 0x28], 0
jne 0x81fb5d
push 0x80004003
call fcn.00878dfb
mov ecx, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x28]
call fcn.00404abb
mov edx, eax
mov ecx, ebx
mov dword [ebp - 0x10], edx
call fcn.00404abb
mov ecx, dword [ebp - 0x10]
add ecx, eax
push 0
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
push 0x5ed
mov dword [edi + 4], ecx
push eax
mov ecx, esi
call fcn.00679e4e
lea eax, [ebp - 0xe4]
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x16
call fcn.0040263d
mov ecx, eax
call fcn.004048a4
push eax
mov byte [ebp - 4], 0x19
call fcn.00412550
mov dword [edi + 8], eax
lea eax, [ebp - 0xe4]
push eax
mov byte [ebp - 4], 0x16
call fcn.00402bc3
add esp, 0xc
test eax, eax
jge 0x81fbd5
push eax
call fcn.00878dfb
mov ebx, 0x97812c
push ebx
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
push 0x5aa
push eax
mov ecx, esi
call fcn.00679e4e
lea eax, [ebp - 0xa4]
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x16
call fcn.0040263d
mov ecx, eax
call fcn.004048a4
push eax
mov byte [ebp - 4], 0x1b
call fcn.004343c5
and dword [ebp - 0x34], 0
pop ecx
pop ecx
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x34]
call fcn.00454081
lea eax, [ebp - 0xa4]
push eax
mov byte [ebp - 4], 0x1d
call fcn.00402bc3
test eax, eax
pop ecx
jge 0x81fc3e
push eax
call fcn.00878dfb
push ebx
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
push 0x5ac
push eax
mov ecx, esi
call fcn.00679e4e
lea eax, [ebp - 0xb4]
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x1d
call fcn.0040263d
mov ecx, eax
call fcn.004048a4
push eax
mov byte [ebp - 4], 0x1f
call fcn.004343c5
and dword [ebp - 0x38], 0
pop ecx
pop ecx
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x38]
call fcn.00454081
lea eax, [ebp - 0xb4]
push eax
mov byte [ebp - 4], 0x21
call fcn.00402bc3
test eax, eax
pop ecx
jge 0x81fca2
push eax
call fcn.00878dfb
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
push 0x70e
push eax
mov ecx, esi
call fcn.00679e4e
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x21
call fcn.0040263d
mov ecx, eax
call fcn.004048a4
push eax
lea eax, [ebp - 0x50]
push eax
mov byte [ebp - 4], 0x23
call fcn.00412348
pop ecx
pop ecx
lea ecx, [edi + 0x28]
push eax
mov byte [ebp - 4], 0x24
call fcn.0041a485
xor ebx, ebx
cmp eax, ebx
jge 0x81fcff
cmp eax, 0x80004002
je 0x81fcff
push eax
call fcn.00878dfb
lea ecx, [ebp - 0x50]
call fcn.004027b3
lea eax, [ebp - 0xd4]
push eax
mov byte [ebp - 4], 0x21
call fcn.00402bc3
cmp eax, ebx
pop ecx
jge 0x81fd22
push eax
call fcn.00878dfb
push ebx
push ebx
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
push 0x8d9
push eax
mov ecx, esi
call fcn.00679e4e
lea eax, [ebp - 0xf4]
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x21
call fcn.0040263d
mov ecx, eax
call fcn.004048a4
mov ecx, eax
mov byte [ebp - 4], 0x26
call fcn.004032b4
cmp eax, ebx
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x1c], ebx
je 0x81fd83
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00404b30
cmp eax, ebx
jge 0x81fd83
cmp eax, 0x80004002
je 0x81fd83
push eax
call fcn.00878dfb
lea eax, [ebp - 0xf4]
push eax
mov byte [ebp - 4], 0x28
call fcn.00402bc3
cmp eax, ebx
pop ecx
jge 0x81fd9e
push eax
call fcn.00878dfb
mov ecx, dword [ebp - 0x1c]
cmp ecx, ebx
je 0x8201e7
call fcn.0040cf4d
test eax, eax
je 0x8201e7
cmp dword [ebp - 0x1c], ebx
jne 0x81fdc5
push 0x80004003
call fcn.00878dfb
mov ecx, dword [ebp - 0x1c]
call fcn.0040cf4d
lea edx, [ebp - 0x2d]
push edx
lea ecx, [edi + 0x2c]
push eax
call fcn.004b8dfa
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x1c], ebx
jne 0x81fdec
push 0x80004003
call fcn.00878dfb
mov ecx, dword [ebp - 0x1c]
call fcn.0040cf4d
cmp dword [ebp - 0x20], eax
jae 0x82010d
push 0x20
pop eax
call fcn.0087a1b0
mov eax, esp
push ebx
push eax
push dword [ebp - 0x20]
call fcn.00412335
pop ecx
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
call fcn.004033a1
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x28
call fcn.0040263d
mov ecx, eax
call fcn.004048a4
push eax
mov byte [ebp - 4], 0x2a
call fcn.00412550
pop ecx
pop ecx
push dword [ebp - 0x20]
lea ecx, [edi + 0x2c]
mov ebx, eax
call fcn.004a312f
mov dword [eax], ebx
lea eax, [ebp - 0x114]
push eax
mov byte [ebp - 4], 0x28
call fcn.00402bc3
xor ebx, ebx
cmp eax, ebx
pop ecx
jge 0x81fe6f
push eax
call fcn.00878dfb
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x58c]
cmp eax, ebx
je 0x81feb3
cmp dword [edi + 0x20], ebx
jne 0x81feb3
push eax
call fcn.005f3a71
cmp eax, ebx
pop ecx
je 0x81feb3
mov ecx, dword [edi + 0x2c]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ecx + edx*4]
mov dword [ebp - 0x78], ecx
push ebx
lea ecx, [ebp - 0x78]
push ecx
lea ecx, [eax + 0x88]
call fcn.0055a499
test eax, eax
je 0x81feb3
mov dword [edi + 0x20], 1
cmp dword [ebp - 0x20], ebx
jne 0x820092
mov eax, dword [edi + 0x2c]
push dword [eax]
lea ebx, [edi + 0x2c]
lea eax, [ebp - 0x40]
push eax
call fcn.004e61ea
pop ecx
pop ecx
cmp dword [ebp - 0x40], 0
mov byte [ebp - 4], 0x2b
je 0x820167
push 0
push 0
push ecx
mov eax, esp
mov dword [ebp - 0x10], esp
push 0x3b4
push eax
mov ecx, esi
call fcn.00679e4e
lea eax, [ebp - 0x134]
push eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x2b
call fcn.0040263d
mov ecx, eax
call fcn.004048a4
mov ecx, eax
mov byte [ebp - 4], 0x2d
call fcn.004032b4
and dword [ebp - 0x4c], 0
test eax, eax
mov dword [ebp - 0x70], eax
je 0x81ff41
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x4c]
call fcn.00404b30
test eax, eax
jge 0x81ff41
cmp eax, 0x80004002
je 0x81ff41
push eax
call fcn.00878dfb
lea eax, [ebp - 0x134]
push eax
mov byte [ebp - 4], 0x2f
call fcn.00402bc3
test eax, eax
pop ecx
jge 0x81ff5c
push eax
call fcn.00878dfb
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x81ff6c
cmp byte [eax], 0
jne 0x820058
push 0x6c6
lea eax, [ebp - 0x64]
push eax
mov ecx, esi
call fcn.00679d22
push dword [eax]
mov eax, dword [ebx]
push dword [eax]
mov ecx, dword [0x973a94]
lea eax, [ebp - 0x60]
push eax
mov byte [ebp - 4], 0x30
call fcn.00550c58
push eax
lea ecx, [edi + 0xc]
mov byte [ebp - 4], 0x31
call fcn.00414f8b
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x30
call fcn.00414ebb
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x2f
call fcn.00414ebb
push 0x6c7
lea eax, [ebp - 0x74]
push eax
mov ecx, esi
call fcn.00679d22
push dword [eax]
mov eax, dword [ebx]
push dword [eax]
mov ecx, dword [0x973a94]
lea eax, [ebp - 0x6c]
push eax
mov byte [ebp - 4], 0x32
call fcn.00550c58
push eax
lea ecx, [edi + 0x10]
mov byte [ebp - 4], 0x33
call fcn.00414f8b
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x32
call fcn.00414ebb
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x2f
call fcn.00414ebb
push 0x8da
lea eax, [ebp - 0x44]
push eax
mov ecx, esi
call fcn.00679d22
push dword [eax]
mov eax, dword [ebx]
push dword [eax]
mov ecx, dword [0x973a94]
lea eax, [ebp - 0x54]
push eax
mov byte [ebp - 4], 0x34
call fcn.00550c58
push eax
lea ecx, [edi + 0x14]
mov byte [ebp - 4], 0x35
call fcn.00414f8b
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x34
call fcn.00414ebb
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x2f
call fcn.00414ebb
jmp 0x820070
lea eax, [ebp - 0x34]
push eax
lea ecx, [edi + 0xc]
call fcn.00414f8b
lea eax, [ebp - 0x38]
push eax
lea ecx, [edi + 0x14]
call fcn.00414f8b
mov eax, dword [ebp - 0x4c]
test eax, eax
mov byte [ebp - 4], 0x2b
je 0x820081
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x40]
test eax, eax
mov byte [ebp - 4], 0x28
je 0x820092
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor ebx, ebx
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0x56c]
test eax, eax
mov dword [ebp - 0x10], ebx
je 0x820103
cmp ebx, dword [eax - 4]
jae 0x820103
mov ecx, dword [ecx + 0x56c]
mov eax, dword [edi + 0x2c]
mov edx, dword [ebp - 0x20]
lea ebx, [ebx + ebx*2]
shl ebx, 2
mov ecx, dword [ecx + ebx]
cmp ecx, dword [eax + edx*4]
jne 0x8200fd
cmp dword [ebp - 0x10], 0
je 0x8200d6
lea ecx, [edi + 0x30]
call fcn.00518b2e
mov ecx, dword [ebp - 0x10]
mov dword [eax], ecx
push 1
pop eax
cmp dword [edi + 0x18], eax
je 0x8200fd
cmp dword [ebp - 0x10], 0
je 0x8200fa
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x56c]
xor ecx, ecx
cmp dword [eax + ebx + 8], ecx
setne cl
inc ecx
inc ecx
mov eax, ecx
mov dword [edi + 0x18], eax
mov ebx, dword [ebp - 0x10]
inc ebx
jmp 0x820094
inc dword [ebp - 0x20]
xor ebx, ebx
jmp 0x81fddd
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
mov byte [ebp - 4], 0x21
je 0x82011e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x1d
call fcn.00414ebb
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x16
call fcn.00414ebb
mov eax, dword [ebp - 0x2c]
cmp eax, ebx
mov byte [ebp - 4], 0x11
je 0x820147
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x14]
cmp eax, ebx
mov byte [ebp - 4], 0xb
je 0x820158
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
inc dword [ebp - 0x24]
add dword [ebp - 0x48], 0x44
mov ebx, dword [ebp - 0x3c]
jmp 0x81f9c3
mov eax, dword [ebp - 0x1c]
test eax, eax
mov byte [ebp - 4], 0x21
je 0x820178
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x1d
call fcn.00414ebb
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x16
call fcn.00414ebb
mov eax, dword [ebp - 0x2c]
test eax, eax
mov byte [ebp - 4], 0x11
je 0x8201a1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x14]
test eax, eax
mov byte [ebp - 4], 0xb
je 0x8201b2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x28]
test eax, eax
mov byte [ebp - 4], 4
je 0x8201c3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x18]
and byte [ebp - 4], 0
test eax, eax
je 0x8201d4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 8]
or dword [ebp - 4], 0xffffffff
test eax, eax
je 0x820241
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x820241
lea ecx, [ebp - 0x1c]
call fcn.004027eb
mov eax, dword [ebp - 0x38]
cmp eax, ebx
mov byte [ebp - 4], 0x1d
je 0x820204
add eax, 0xfffffff4
push eax
call fcn.00434e38
pop ecx
mov eax, dword [ebp - 0x34]
cmp eax, ebx
mov byte [ebp - 4], 0x16
je 0x820219
add eax, 0xfffffff4
push eax
call fcn.00434e38
pop ecx
lea ecx, [ebp - 0x2c]
call fcn.004125d9
lea ecx, [ebp - 0x14]
call fcn.004027eb
lea ecx, [ebp - 0x28]
call fcn.004125d9
lea ecx, [ebp - 0x18]
call fcn.004027eb
lea ecx, [ebp + 8]
call fcn.004027eb
xor eax, eax
mov ecx, dword [ebp - 0xc]
lea esp, [ebp - 0x140]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 4
mov eax, dword [ebp - 0x28]
cmp eax, edi
mov byte [ebp - 4], 4
je 0x82026b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x18]
and byte [ebp - 4], 0
cmp eax, edi
je 0x82027c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 8]
or dword [ebp - 4], 0xffffffff
cmp eax, edi
je 0x82028d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push 1
pop eax
jmp 0x820243