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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x603196
mov eax, dword fs:[0]
push eax
sub esp, 0x150
push ebx
push esi
push edi
mov eax, dword [0x69a450]
xor eax, esp
push eax
lea eax, [esp + 0x160]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x44], esi
mov edi, dword [ebp + 0x14]
xor eax, eax
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x9c], eax
mov dword [esp + 0x18], eax
lea eax, [edi + 1]
cmp eax, ebx
jne 0x50b55e
lea eax, [ebx - 1]
push eax
lea eax, [esp + 0x74]
push eax
call fcn.00500fb0
add esp, 8
mov dword [esp + 0x168], 0
cmp dword [0x6ed6ac], 0
jne 0x50ab3a
call fcn.004ff680
mov dword [0x6ed6ac], 0x4f4e40
push 2
mov dword [esp + 0x34], vtable.CryptoPP::Integer.0
mov dword [esp + 0x3c], 2
call fcn.004dc670
add esp, 4
push 8
call fcn.004d6190
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], 0
mov dword [eax], 1
mov dword [eax + 4], 0
lea eax, [esp + 0xb4]
mov byte [esp + 0x168], 1
push ebx
push eax
call fcn.00500fb0
lea ecx, [esp + 0x38]
mov byte [esp + 0x170], 2
push ecx
push eax
lea eax, [esp + 0x94]
push eax
call fcn.004d90a0
add esp, 0x14
mov edx, dword [esp + 0xbc]
xor eax, eax
mov ebx, dword [esp + 0xc0]
mov ecx, edx
mov edi, ebx
rep stosd dword es:[edi], eax
lea eax, [edx*4]
push ebx
cmp eax, 0x10
jb 0x50abd5
call fcn.005fa578
jmp 0x50abda
call fcn.005c663b
add esp, 4
mov byte [esp + 0x168], 5
xor eax, eax
mov edx, dword [esp + 0x3c]
mov ecx, 2
mov edi, edx
rep stosd dword es:[edi], eax
push edx
call fcn.005c663b
mov eax, dword [ebp + 8]
add esp, 4
mov byte [esp + 0x17], 0
lea edi, [eax*4 + 6]
add edi, eax
mov dword [esp + 0x98], edi
cmp dword [0x6ed6ac], 0
jne 0x50ac2d
call fcn.004ff680
mov dword [0x6ed6ac], 0x4f4e40
push 2
mov dword [esp + 0x20], vtable.CryptoPP::Integer.0
mov dword [esp + 0x28], 2
call fcn.004dc670
add esp, 4
push 8
call fcn.004d6190
mov ebx, eax
mov dword [esp + 0x30], 0
add esp, 4
mov dword [esp + 0x28], ebx
mov dword [ebx], 0xc
mov dword [ebx + 4], 0
mov byte [esp + 0x168], 6
cmp dword [0x6ed6ac], 0
jne 0x50ac8c
call fcn.004ff680
mov dword [0x6ed6ac], 0x4f4e40
push 2
mov dword [esp + 0x34], vtable.CryptoPP::Integer.0
mov dword [esp + 0x3c], 2
call fcn.004dc670
add esp, 4
push 8
call fcn.004d6190
add esp, 4
mov dword [esp + 0x3c], eax
test edi, edi
js 0x50acc2
mov dword [esp + 0x40], 0
jmp 0x50accc
mov dword [esp + 0x40], 1
neg edi
mov dword [eax], edi
mov dword [eax + 4], 0
lea eax, [esp + 0x1c]
mov byte [esp + 0x168], 7
push eax
lea eax, [esp + 0x34]
mov ecx, esi
push eax
push 0
lea eax, [esp + 0x90]
push eax
lea eax, [esp + 0x80]
push eax
push dword [ebp + 0xc]
call fcn.00501d20
mov edx, dword [esp + 0x3c]
xor eax, eax
mov edi, edx
mov ecx, 2
rep stosd dword es:[edi], eax
push edx
call fcn.005c663b
add esp, 4
mov byte [esp + 0x168], 5
xor eax, eax
mov edi, ebx
mov ecx, 2
rep stosd dword es:[edi], eax
push ebx
call fcn.005c663b
add esp, 4
cmp dword [0x6ed6ac], 0
jne 0x50ad4f
call fcn.004ff680
mov dword [0x6ed6ac], 0x4f4e40
push 2
mov dword [esp + 0x20], vtable.CryptoPP::Integer.0
mov dword [esp + 0x28], 2
call fcn.004dc670
add esp, 4
push 8
call fcn.004d6190
add esp, 4
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0
mov dword [eax], 0xc
mov dword [eax + 4], 0
mov byte [esp + 0x168], 8
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x50adbb
mov ebx, dword [esp + 0x90]
lea eax, [edx - 1]
lea eax, [ebx + eax*4]
lea esp, [esp]
cmp dword [eax], 0
jne 0x50ae13
sub eax, 4
dec edx
jne 0x50adb0
xor edx, edx
lea edi, [edx + edx*2]
shl edi, 2
cmp dword [0x6ed6ac], 0
jne 0x50addb
call fcn.004ff680
mov dword [0x6ed6ac], 0x4f4e40
push 2
mov dword [esp + 0x34], vtable.CryptoPP::Integer.0
mov dword [esp + 0x3c], 2
call fcn.004dc670
add esp, 4
push 8
call fcn.004d6190
add esp, 4
mov ebx, eax
mov dword [esp + 0x3c], ebx
test edi, edi
js 0x50ae5f
mov dword [esp + 0x40], 0
jmp 0x50ae69
test edx, edx
je 0x50adbb
mov ebx, dword [ebx + edx*4 - 4]
test ebx, ebx
jne 0x50ae2d
dec edx
xor esi, esi
shl edx, 5
add edx, esi
mov esi, dword [esp + 0x44]
jmp 0x50adbd
xor edi, edi
mov esi, 0x20
lea ecx, [edi + esi]
mov eax, ebx
shr ecx, 1
shr eax, cl
test eax, eax
je 0x50ae45
mov edi, ecx
jmp 0x50ae47
mov esi, ecx
mov eax, esi
sub eax, edi
cmp eax, 1
ja 0x50ae34
dec edx
shl edx, 5
add edx, esi
mov esi, dword [esp + 0x44]
jmp 0x50adbd
mov dword [esp + 0x40], 1
neg edi
mov dword [ebx], edi
mov dword [ebx + 4], 0
lea eax, [esp + 0x30]
mov byte [esp + 0x168], 9
push eax
lea eax, [esp + 0x60]
push esi
push eax
call fcn.004d9070
add esp, 0xc
mov edi, eax
mov byte [esp + 0x168], 0xa
cmp dword [esp + 0x94], 1
je 0x50aebf
cmp dword [edi + 0x10], 1
je 0x50aeb8
push edi
lea ecx, [esp + 0x88]
call fcn.005041f0
mov ecx, eax
jmp 0x50aedb
mov ecx, 1
jmp 0x50aedb
cmp dword [edi + 0x10], 1
je 0x50aeca
or ecx, 0xffffffff
jmp 0x50aedb
push edi
lea ecx, [esp + 0x88]
call fcn.005041f0
mov ecx, eax
neg ecx
push dword [ebp + 8]
test ecx, ecx
lea eax, [esp + 0x88]
lea ecx, [esp + 0x20]
push ecx
cmovns eax, edi
lea ecx, [esp + 0x10c]
push eax
push esi
call fcn.00508ee0
mov eax, dword [esp + 0x68]
mov edi, eax
mov edx, dword [esp + 0x64]
mov ecx, edx
mov dword [esp + 0x18], eax
xor eax, eax
push dword [esp + 0x18]
rep stosd dword es:[edi], eax
lea eax, [edx*4]
cmp eax, 0x10
jb 0x50af28
call fcn.005fa578
jmp 0x50af2d
call fcn.005c663b
add esp, 4
xor eax, eax
mov edi, ebx
mov ecx, 2
rep stosd dword es:[edi], eax
push ebx
call fcn.005c663b
add esp, 4
mov byte [esp + 0x168], 0xe
xor eax, eax
mov edx, dword [esp + 0x28]
mov ecx, 2
mov edi, edx
rep stosd dword es:[edi], eax
push edx
call fcn.005c663b
add esp, 4
lea ecx, [esp + 0x104]
push esi
call fcn.00508fa0
test al, al
je 0x50b1bc
lea ebx, [esi + 0x14]
lea esp, [esp]
cmp dword [0x6ed6ac], 0
mov edi, dword [ebp + 8]
mov esi, edi
jne 0x50af9d
call fcn.004ff680
mov dword [0x6ed6ac], 0x4f4e40
push 2
mov dword [esp + 0x34], vtable.CryptoPP::Integer.0
mov dword [esp + 0x3c], 2
call fcn.004dc670
add esp, 4
push 8
call fcn.004d6190
add esp, 4
mov dword [esp + 0x3c], eax
test edi, edi
js 0x50afd3
mov dword [esp + 0x40], 0
jmp 0x50afdd
mov dword [esp + 0x40], 1
neg esi
mov dword [eax], esi
mov dword [eax + 4], 0
lea eax, [esp + 0x30]
mov byte [esp + 0x168], 0xf
push eax
push dword [esp + 0x48]
lea eax, [esp + 0x50]
push eax
call fcn.004d90a0
add esp, 0xc
push 1
lea ecx, [esp + 0x20]
mov byte [esp + 0x16c], 0x10
push ecx
mov ecx, eax
call fcn.004f4cf0
mov esi, eax
mov dword [esp + 0x18], esi
mov byte [esp + 0x168], 0x11
cmp ebx, esi
je 0x50b0f8
mov ecx, dword [esi + 8]
cmp dword [ebx + 8], ecx
jne 0x50b049
mov edx, dword [esi + 0xc]
mov eax, ecx
shr eax, 1
cmp dword [edx + eax*4], 0
jne 0x50b0d7
mov eax, dword [esi + 0xc]
test ecx, ecx
je 0x50b061
lea eax, [eax + ecx*4]
add eax, 0xfffffffc
cmp dword [eax], 0
jne 0x50b061
sub eax, 4
dec ecx
jne 0x50b056
cmp ecx, 8
ja 0x50b06f
mov eax, dword [ecx*4 + 0x63acb4]
jmp 0x50b0ce
cmp ecx, 0x10
ja 0x50b07b
mov eax, 0x10
jmp 0x50b0ce
cmp ecx, 0x20
ja 0x50b087
mov eax, 0x20
jmp 0x50b0ce
cmp ecx, 0x40
ja 0x50b093
mov eax, 0x40
jmp 0x50b0ce
lea edi, [ecx - 1]
test edi, edi
jne 0x50b09e
xor edx, edx
jmp 0x50b0c5
xor esi, esi
mov edx, 0x20
lea ecx, [esi + edx]
mov eax, edi
shr ecx, 1
shr eax, cl
test eax, eax
je 0x50b0b6
mov esi, ecx
jmp 0x50b0b8
mov edx, ecx
mov eax, edx
sub eax, esi
cmp eax, 1
ja 0x50b0a5
mov esi, dword [esp + 0x18]
mov eax, 1
mov ecx, edx
shl eax, cl
push eax
lea ecx, [ebx + 4]
call fcn.00505940
mov ecx, dword [esi + 0xc]
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
cmp edx, ecx
je 0x50b0f2
shl eax, 2
push eax
push ecx
push edx
call fcn.005c8660
add esp, 0xc
mov eax, dword [esi + 0x10]
mov dword [ebx + 0x10], eax
mov edx, dword [esp + 0x24]
xor eax, eax
mov esi, dword [esp + 0x28]
mov ecx, edx
mov edi, esi
rep stosd dword es:[edi], eax
lea eax, [edx*4]
push esi
cmp eax, 0x10
jb 0x50b11c
call fcn.005fa578
jmp 0x50b121
call fcn.005c663b
mov edx, dword [esp + 0x54]
xor eax, eax
mov esi, dword [esp + 0x58]
add esp, 4
mov edi, esi
mov ecx, edx
rep stosd dword es:[edi], eax
lea eax, [edx*4]
push esi
cmp eax, 0x10
jb 0x50b148
call fcn.005fa578
jmp 0x50b14d
call fcn.005c663b
mov byte [esp + 0x16c], 0xe
add esp, 4
mov edx, dword [esp + 0x3c]
xor eax, eax
mov edi, edx
mov ecx, 2
rep stosd dword es:[edi], eax
push edx
call fcn.005c663b
add esp, 4
mov ecx, ebx
call fcn.00508e00
mov esi, dword [esp + 0x44]
test al, al
je 0x50b1a0
mov ecx, esi
call fcn.00508e00
test al, al
je 0x50b1a0
mov ecx, ebx
call fcn.00508be0
test al, al
je 0x50b1a0
mov ecx, esi
call fcn.00508be0
test al, al
jne 0x50b1b7
push esi
lea ecx, [esp + 0x108]
call fcn.00508fa0
test al, al
jne 0x50af80
jmp 0x50b1bc
mov byte [esp + 0x17], 1
lea ecx, [esp + 0x104]
mov byte [esp + 0x168], 5
call fcn.0050a1d0
cmp byte [esp + 0x17], 0
mov edi, dword [esp + 0x98]
je 0x50ac15
cmp dword [ebp + 8], 1
lea ecx, [esp + 0x1c]
jne 0x50b299
push 2
call fcn.00500e40
lea eax, [esp + 0x1c]
mov byte [esp + 0x168], 0x12
push eax
lea ecx, [esi + 0x28]
call fcn.005010e0
mov byte [esp + 0x168], 5
xor eax, eax
mov edx, dword [esp + 0x24]
mov ecx, edx
mov edi, dword [esp + 0x28]
rep stosd dword es:[edi], eax
lea eax, [edx*4]
cmp eax, 0x10
mov eax, dword [esp + 0x28]
push eax
jb 0x50b23a
call fcn.005fa578
jmp 0x50b23f
call fcn.005c663b
add esp, 4
lea ecx, [esi + 0x28]
mov edx, esi
call fcn.0050a400
cmp eax, 1
je 0x50b268
lea ecx, [esi + 0x28]
call fcn.005029b0
mov edx, esi
lea ecx, [esi + 0x28]
call fcn.0050a400
cmp eax, 1
jne 0x50b251
mov edx, dword [esp + 0x8c]
xor eax, eax
mov esi, dword [esp + 0x90]
mov ecx, edx
mov edi, esi
rep stosd dword es:[edi], eax
lea eax, [edx*4]
push esi
cmp eax, 0x10
jb 0x50b4f6
call fcn.005fa578
jmp 0x50b4fb
push 3
call fcn.00500e40
lea eax, [esp + 0x1c]
mov byte [esp + 0x168], 0x13
lea ecx, [esi + 0x28]
push eax
call fcn.005010e0
mov byte [esp + 0x168], 5
xor eax, eax
mov edx, dword [esp + 0x24]
mov ecx, edx
mov ebx, dword [esp + 0x28]
mov edi, ebx
rep stosd dword es:[edi], eax
lea eax, [edx*4]
push ebx
cmp eax, 0x10
jb 0x50b2e1
call fcn.005fa578
jmp 0x50b2e6
call fcn.005c663b
mov ebx, dword [esp + 0xa0]
lea edi, [esi + 0x28]
add esp, 4
push 4
lea ecx, [esp + 0x34]
call fcn.00500e40
push edi
lea eax, [esp + 0xa4]
mov byte [esp + 0x16c], 0x14
push edi
or ebx, 1
push eax
mov dword [esp + 0x24], ebx
call fcn.004d90d0
add esp, 0xc
lea ecx, [esp + 0x30]
mov dword [esp + 0x168], 0x15
push ecx
push eax
lea eax, [esp + 0x64]
or ebx, 2
push eax
mov dword [esp + 0x24], ebx
call fcn.004d90a0
add esp, 0xc
mov dword [esp + 0x168], 0x16
or ebx, 4
mov edx, esi
mov dword [esp + 0x18], ebx
mov ecx, eax
call fcn.0050a400
cmp eax, 0xffffffff
jne 0x50b3a9
push 2
lea ecx, [esp + 0x20]
call fcn.00500e40
push esi
mov dword [esp + 0x16c], 0x17
lea edx, [esi + 0x14]
or ebx, 8
lea ecx, [esp + 0x4c]
push edi
mov dword [esp + 0x20], ebx
call fcn.0050a750
lea ecx, [esp + 0x24]
or ebx, 0x10
push ecx
push eax
call fcn.004d8ec0
add esp, 0x10
mov byte [esp + 0x17], 1
test al, al
jne 0x50b3ae
mov byte [esp + 0x17], 0
test bl, 0x10
je 0x50b3e9
mov eax, dword [esp + 0x54]
and ebx, 0xffffffef
mov edx, dword [esp + 0x50]
mov edi, eax
mov dword [esp + 0x18], eax
mov ecx, edx
push dword [esp + 0x18]
xor eax, eax
rep stosd dword es:[edi], eax
lea eax, [edx*4]
cmp eax, 0x10
jb 0x50b3e1
call fcn.005fa578
jmp 0x50b3e6
call fcn.005c663b
add esp, 4
test bl, 8
je 0x50b41f
mov edx, dword [esp + 0x24]
xor eax, eax
mov edi, dword [esp + 0x28]
mov ecx, edx
rep stosd dword es:[edi], eax
lea eax, [edx*4]
and ebx, 0xfffffff7
cmp eax, 0x10
mov eax, dword [esp + 0x28]
push eax
jb 0x50b417
call fcn.005fa578
jmp 0x50b41c
call fcn.005c663b
add esp, 4
test bl, 4
je 0x50b45a
mov eax, dword [esp + 0x68]
and ebx, 0xfffffffb
mov edx, dword [esp + 0x64]
mov edi, eax
mov dword [esp + 0x18], eax
mov ecx, edx
push dword [esp + 0x18]
xor eax, eax
rep stosd dword es:[edi], eax
lea eax, [edx*4]
cmp eax, 0x10
jb 0x50b452
call fcn.005fa578
jmp 0x50b457
call fcn.005c663b
add esp, 4
test bl, 2
je 0x50b49b
mov eax, dword [esp + 0xac]
and ebx, 0xfffffffd
mov edx, dword [esp + 0xa8]
mov edi, eax
mov dword [esp + 0x18], eax
mov ecx, edx
push dword [esp + 0x18]
xor eax, eax
rep stosd dword es:[edi], eax
lea eax, [edx*4]
cmp eax, 0x10
jb 0x50b493
call fcn.005fa578
jmp 0x50b498
call fcn.005c663b
add esp, 4
mov dword [esp + 0x168], 5
test bl, 1
je 0x50b4dc
mov edx, dword [esp + 0x38]
xor eax, eax
mov edi, dword [esp + 0x3c]
mov ecx, edx
rep stosd dword es:[edi], eax
lea eax, [edx*4]
and ebx, 0xfffffffe
cmp eax, 0x10
mov eax, dword [esp + 0x3c]
push eax
jb 0x50b4d4
call fcn.005fa578
jmp 0x50b4d9
call fcn.005c663b
add esp, 4
cmp byte [esp + 0x17], 0
jne 0x50b268
lea edi, [esi + 0x28]
mov ecx, edi
call fcn.005029b0
jmp 0x50b2f3
call fcn.005c663b
mov edx, dword [esp + 0x7c]
xor eax, eax
mov esi, dword [esp + 0x80]
add esp, 4
mov edi, esi
mov ecx, edx
rep stosd dword es:[edi], eax
lea eax, [edx*4]
push esi
cmp eax, 0x10
jb 0x50b53e
call fcn.005fa578
add esp, 4
mov ecx, dword [esp + 0x160]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
call fcn.005c663b
add esp, 4
mov ecx, dword [esp + 0x160]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
lea eax, [edi - 1]
push eax
lea eax, [esp + 0xe0]
push eax
call fcn.00500fb0
add esp, 8
push 1
lea ecx, [esp + 0x20]
mov dword [esp + 0x16c], 0x18
call fcn.00500e40
lea eax, [esp + 0xa0]
mov byte [esp + 0x168], 0x19
push edi
push eax
call fcn.00500fb0
lea ecx, [esp + 0x24]
mov byte [esp + 0x170], 0x1a
push ecx
push eax
lea eax, [esp + 0xd8]
push eax
call fcn.004d90a0
add esp, 0x14
mov eax, dword [esp + 0xac]
mov edi, eax
mov edx, dword [esp + 0xa8]
mov ecx, edx
mov dword [esp + 0x18], eax
xor eax, eax
push dword [esp + 0x18]
rep stosd dword es:[edi], eax
lea eax, [edx*4]
cmp eax, 0x10
jb 0x50b5ed
call fcn.005fa578
jmp 0x50b5f2
call fcn.005c663b
add esp, 4
mov byte [esp + 0x168], 0x1d
xor eax, eax
mov edx, dword [esp + 0x24]
mov ecx, edx
mov edi, dword [esp + 0x28]
rep stosd dword es:[edi], eax
lea eax, [edx*4]
cmp eax, 0x10
mov eax, dword [esp + 0x28]
push eax
jb 0x50b623
call fcn.005fa578
jmp 0x50b628
call fcn.005c663b
add esp, 4
lea eax, [ebx - 1]
push eax
lea eax, [esp + 0xf4]
push eax
call fcn.00500fb0
add esp, 8
push 1
lea ecx, [esp + 0x74]
mov byte [esp + 0x16c], 0x1e
call fcn.00500e40
lea eax, [esp + 0xa0]
mov byte [esp + 0x168], 0x1f
push ebx
push eax
call fcn.00500fb0
lea ecx, [esp + 0x78]
mov byte [esp + 0x170], 0x20
push ecx
push eax
lea eax, [esp + 0x40]
push eax
call fcn.004d90a0
add esp, 0x14
mov edx, dword [esp + 0xa8]
xor eax, eax
mov ebx, dword [esp + 0xac]
mov ecx, edx
mov edi, ebx
rep stosd dword es:[edi], eax
lea eax, [edx*4]
push ebx
cmp eax, 0x10
jb 0x50b6ad
call fcn.005fa578
jmp 0x50b6b2
call fcn.005c663b
add esp, 4
mov byte [esp + 0x168], 0x23
xor eax, eax
mov edx, dword [esp + 0x78]
mov ecx, edx
mov ebx, dword [esp + 0x7c]
mov edi, ebx
rep stosd dword es:[edi], eax
lea eax, [edx*4]
push ebx
cmp eax, 0x10
jb 0x50b6e1
call fcn.004d6180
jmp 0x50b6e6
call fcn.004d6210
mov ebx, dword [ebp + 0xc]
lea edi, [esi + 0x14]
add esp, 4
nop
call fcn.00501090
push eax
push ecx
call fcn.00501080
add esp, 4
mov ecx, edi
push eax
push 1
lea eax, [esp + 0xd4]
push eax
lea eax, [esp + 0xec]
push eax
push ebx
call fcn.00501d20
push dword [ebp + 8]
lea ecx, [esp + 0x4c]
call fcn.00500e40
push edi
lea eax, [esp + 0x4c]
mov byte [esp + 0x16c], 0x24
push eax
lea eax, [esp + 0x64]
push eax
call fcn.004d9130
add esp, 0xc
push edi
push eax
push 1
lea eax, [esp + 0x3c]
mov byte [esp + 0x174], 0x25
push eax
lea eax, [esp + 0x100]
mov ecx, esi
push eax
push ebx
call fcn.00501d20
test al, al
lea ecx, [esp + 0x5c]
sete bl
call fcn.004d8e80
lea ecx, [esp + 0x48]
mov byte [esp + 0x168], 0x23
call fcn.004d8e80
test bl, bl
mov ebx, dword [ebp + 0xc]
jne 0x50b6f0
cmp dword [ebp + 8], 1
jne 0x50b910
lea ebx, [esi + 0x28]
lea esp, [esp]
push 2
lea ecx, [esp + 0x60]
call fcn.00500e40
push 2
lea ecx, [esp + 0x4c]
mov byte [esp + 0x16c], 0x26
call fcn.00500e40
lea eax, [esp + 0x5c]
mov byte [esp + 0x168], 0x27
push eax
lea eax, [esp + 0x74]
push esi
push eax
call fcn.004d90a0
add esp, 0xc
mov esi, eax
mov byte [esp + 0x168], 0x28
call fcn.00501090
push eax
push ecx
call fcn.00501080
add esp, 4
lea ecx, [esp + 0xb8]
push eax
push 0
push esi
lea eax, [esp + 0x58]
push eax
push dword [ebp + 0xc]
call fcn.00500ec0
lea ecx, [esp + 0x70]
call fcn.004d8e80
lea ecx, [esp + 0x48]
call fcn.004d8e80
lea ecx, [esp + 0x5c]
mov byte [esp + 0x168], 0x2c
call fcn.004d8e80
push 1
lea ecx, [esp + 0x4c]
call fcn.00500e40
mov esi, dword [esp + 0x44]
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x88]
mov byte [esp + 0x16c], 0x2d
push esi
push eax
call fcn.004d90a0
add esp, 0xc
push edi
push eax
lea eax, [esp + 0x24]
mov byte [esp + 0x170], 0x2e
push eax
call fcn.004d9100
add esp, 0xc
push esi
push eax
lea eax, [esp + 0xbc]
mov byte [esp + 0x170], 0x2f
push eax
lea eax, [esp + 0x68]
push eax
call fcn.00504810
add esp, 0x10
push eax
mov ecx, ebx
mov byte [esp + 0x16c], 0x30
call fcn.005010e0
lea ecx, [esp + 0x5c]
call fcn.004d8e80
lea ecx, [esp + 0x1c]
call fcn.004d8e80
lea ecx, [esp + 0x84]
call fcn.004d8e80
lea ecx, [esp + 0x48]
call fcn.004d8e80
lea ecx, [esp + 0xb4]
mov byte [esp + 0x168], 0x23
call fcn.004d8e80
push 1
lea ecx, [esp + 0x4c]
call fcn.00500e40
lea edx, [esp + 0x48]
mov ecx, ebx
call fcn.005071a0
lea ecx, [esp + 0x48]
mov bl, al
call fcn.004d8e80
test bl, bl
lea ebx, [esi + 0x28]
jne 0x50b7a0
jmp 0x50baf6
push 1
lea ecx, [esp + 0x60]
call fcn.00500e40
push 3
lea ecx, [esp + 0x4c]
mov byte [esp + 0x16c], 0x31
call fcn.00500e40
lea eax, [esp + 0x5c]
mov byte [esp + 0x168], 0x32
push eax
lea eax, [esp + 0xb8]
push esi
push eax
call fcn.004d90a0
add esp, 0xc
mov esi, eax
mov byte [esp + 0x168], 0x33
call fcn.00501090
push eax
push ecx
call fcn.00501080
add esp, 4
lea ecx, [esp + 0x20]
push eax
push 0
push esi
lea eax, [esp + 0x58]
push eax
push dword [ebp + 0xc]
call fcn.00500ec0
lea ecx, [esp + 0xb4]
call fcn.004d8e80
lea ecx, [esp + 0x48]
call fcn.004d8e80
lea ecx, [esp + 0x5c]
mov byte [esp + 0x168], 0x37
call fcn.004d8e80
push 4
lea ecx, [esp + 0x4c]
call fcn.00500e40
lea eax, [esp + 0x1c]
mov byte [esp + 0x168], 0x38
push eax
push eax
lea eax, [esp + 0x78]
push eax
call fcn.004d90d0
add esp, 0xc
lea ecx, [esp + 0x48]
mov byte [esp + 0x168], 0x39
push ecx
push eax
lea eax, [esp + 0x64]
push eax
call fcn.004d90a0
add esp, 0xc
mov esi, dword [esp + 0x44]
mov ecx, eax
mov edx, esi
mov byte [esp + 0x168], 0x3a
call fcn.0050a400
cmp eax, 1
lea ecx, [esp + 0x5c]
sete bl
call fcn.004d8e80
lea ecx, [esp + 0x70]
call fcn.004d8e80
lea ecx, [esp + 0x48]
mov byte [esp + 0x168], 0x37
call fcn.004d8e80
test bl, bl
jne 0x50babb
push 1
lea ecx, [esp + 0x4c]
call fcn.00500e40
lea eax, [esp + 0x48]
mov byte [esp + 0x168], 0x3b
push eax
lea eax, [esp + 0x88]
push esi
push eax
call fcn.004d9070
add esp, 0xc
push edi
push eax
lea eax, [esp + 0x78]
mov byte [esp + 0x170], 0x3c
push eax
call fcn.004d9100
add esp, 0xc
lea ecx, [esp + 0x1c]
mov byte [esp + 0x168], 0x3d
push esi
push ecx
mov edx, eax
lea ecx, [esp + 0x64]
call fcn.0050a750
add esp, 8
push eax
lea ecx, [esi + 0x28]
mov byte [esp + 0x16c], 0x3e
call fcn.005010e0
lea ecx, [esp + 0x5c]
call fcn.004d8e80
lea ecx, [esp + 0x70]
call fcn.004d8e80
lea ecx, [esp + 0x84]
call fcn.004d8e80
lea ecx, [esp + 0x48]
call fcn.004d8e80
lea ecx, [esp + 0x1c]
mov byte [esp + 0x168], 0x23
call fcn.004d8e80
push 2
lea ecx, [esp + 0x4c]
call fcn.00500e40
lea edx, [esp + 0x48]
lea ecx, [esi + 0x28]
call fcn.005071a0
lea ecx, [esp + 0x48]
mov bl, al
call fcn.004d8e80
test bl, bl
jne 0x50b910
lea ecx, [esp + 0x30]
call fcn.004d8e80
lea ecx, [esp + 0xf0]
call fcn.004d8e80
lea ecx, [esp + 0xc8]
call fcn.004d8e80
lea ecx, [esp + 0xdc]
call fcn.004d8e80
mov ecx, dword [esp + 0x160]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10