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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x61a746
mov eax, dword fs:[0]
push eax
sub esp, 0x150
push ebx
push esi
push edi
mov eax, dword [0x6b64f0]
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 0x518b8e
lea eax, [ebx - 1]
push eax
lea eax, [esp + 0x74]
push eax
call fcn.0050eb70
add esp, 8
mov dword [esp + 0x168], 0
cmp dword [0x70b44c], 0
jne 0x51816a
call fcn.0050d240
mov dword [0x70b44c], 0x502a00
push 2
mov dword [esp + 0x34], vtable.CryptoPP::Integer.0
mov dword [esp + 0x3c], 2
call fcn.004ea650
add esp, 4
push 8
call fcn.004e4160
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.0050eb70
lea ecx, [esp + 0x38]
mov byte [esp + 0x170], 2
push ecx
push eax
lea eax, [esp + 0x94]
push eax
call fcn.004e7070
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 0x518205
call fcn.00610971
jmp 0x51820a
call fcn.005d9065
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.005d9065
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 [0x70b44c], 0
jne 0x51825d
call fcn.0050d240
mov dword [0x70b44c], 0x502a00
push 2
mov dword [esp + 0x20], vtable.CryptoPP::Integer.0
mov dword [esp + 0x28], 2
call fcn.004ea650
add esp, 4
push 8
call fcn.004e4160
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 [0x70b44c], 0
jne 0x5182bc
call fcn.0050d240
mov dword [0x70b44c], 0x502a00
push 2
mov dword [esp + 0x34], vtable.CryptoPP::Integer.0
mov dword [esp + 0x3c], 2
call fcn.004ea650
add esp, 4
push 8
call fcn.004e4160
add esp, 4
mov dword [esp + 0x3c], eax
test edi, edi
js 0x5182f2
mov dword [esp + 0x40], 0
jmp 0x5182fc
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.0050f8e0
mov edx, dword [esp + 0x3c]
xor eax, eax
mov edi, edx
mov ecx, 2
rep stosd dword es:[edi], eax
push edx
call fcn.005d9065
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.005d9065
add esp, 4
cmp dword [0x70b44c], 0
jne 0x51837f
call fcn.0050d240
mov dword [0x70b44c], 0x502a00
push 2
mov dword [esp + 0x20], vtable.CryptoPP::Integer.0
mov dword [esp + 0x28], 2
call fcn.004ea650
add esp, 4
push 8
call fcn.004e4160
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 0x5183eb
mov ebx, dword [esp + 0x90]
lea eax, [edx - 1]
lea eax, [ebx + eax*4]
lea esp, [esp]
cmp dword [eax], 0
jne 0x518443
sub eax, 4
dec edx
jne 0x5183e0
xor edx, edx
lea edi, [edx + edx*2]
shl edi, 2
cmp dword [0x70b44c], 0
jne 0x51840b
call fcn.0050d240
mov dword [0x70b44c], 0x502a00
push 2
mov dword [esp + 0x34], vtable.CryptoPP::Integer.0
mov dword [esp + 0x3c], 2
call fcn.004ea650
add esp, 4
push 8
call fcn.004e4160
add esp, 4
mov ebx, eax
mov dword [esp + 0x3c], ebx
test edi, edi
js 0x51848f
mov dword [esp + 0x40], 0
jmp 0x518499
test edx, edx
je 0x5183eb
mov ebx, dword [ebx + edx*4 - 4]
test ebx, ebx
jne 0x51845d
dec edx
xor esi, esi
shl edx, 5
add edx, esi
mov esi, dword [esp + 0x44]
jmp 0x5183ed
xor edi, edi
mov esi, 0x20
lea ecx, [edi + esi]
mov eax, ebx
shr ecx, 1
shr eax, cl
test eax, eax
je 0x518475
mov edi, ecx
jmp 0x518477
mov esi, ecx
mov eax, esi
sub eax, edi
cmp eax, 1
ja 0x518464
dec edx
shl edx, 5
add edx, esi
mov esi, dword [esp + 0x44]
jmp 0x5183ed
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.004e7040
add esp, 0xc
mov edi, eax
mov byte [esp + 0x168], 0xa
cmp dword [esp + 0x94], 1
je 0x5184ef
cmp dword [edi + 0x10], 1
je 0x5184e8
push edi
lea ecx, [esp + 0x88]
call fcn.00511db0
mov ecx, eax
jmp 0x51850b
mov ecx, 1
jmp 0x51850b
cmp dword [edi + 0x10], 1
je 0x5184fa
or ecx, 0xffffffff
jmp 0x51850b
push edi
lea ecx, [esp + 0x88]
call fcn.00511db0
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.00516510
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 0x518558
call fcn.00610971
jmp 0x51855d
call fcn.005d9065
add esp, 4
xor eax, eax
mov edi, ebx
mov ecx, 2
rep stosd dword es:[edi], eax
push ebx
call fcn.005d9065
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.005d9065
add esp, 4
lea ecx, [esp + 0x104]
push esi
call fcn.005165d0
test al, al
je 0x5187ec
lea ebx, [esi + 0x14]
lea esp, [esp]
cmp dword [0x70b44c], 0
mov edi, dword [ebp + 8]
mov esi, edi
jne 0x5185cd
call fcn.0050d240
mov dword [0x70b44c], 0x502a00
push 2
mov dword [esp + 0x34], vtable.CryptoPP::Integer.0
mov dword [esp + 0x3c], 2
call fcn.004ea650
add esp, 4
push 8
call fcn.004e4160
add esp, 4
mov dword [esp + 0x3c], eax
test edi, edi
js 0x518603
mov dword [esp + 0x40], 0
jmp 0x51860d
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.004e7070
add esp, 0xc
push 1
lea ecx, [esp + 0x20]
mov byte [esp + 0x16c], 0x10
push ecx
mov ecx, eax
call fcn.005028b0
mov esi, eax
mov dword [esp + 0x18], esi
mov byte [esp + 0x168], 0x11
cmp ebx, esi
je 0x518728
mov ecx, dword [esi + 8]
cmp dword [ebx + 8], ecx
jne 0x518679
mov edx, dword [esi + 0xc]
mov eax, ecx
shr eax, 1
cmp dword [edx + eax*4], 0
jne 0x518707
mov eax, dword [esi + 0xc]
test ecx, ecx
je 0x518691
lea eax, [eax + ecx*4]
add eax, 0xfffffffc
cmp dword [eax], 0
jne 0x518691
sub eax, 4
dec ecx
jne 0x518686
cmp ecx, 8
ja 0x51869f
mov eax, dword [ecx*4 + 0x6575c0]
jmp 0x5186fe
cmp ecx, 0x10
ja 0x5186ab
mov eax, 0x10
jmp 0x5186fe
cmp ecx, 0x20
ja 0x5186b7
mov eax, 0x20
jmp 0x5186fe
cmp ecx, 0x40
ja 0x5186c3
mov eax, 0x40
jmp 0x5186fe
lea edi, [ecx - 1]
test edi, edi
jne 0x5186ce
xor edx, edx
jmp 0x5186f5
xor esi, esi
mov edx, 0x20
lea ecx, [esi + edx]
mov eax, edi
shr ecx, 1
shr eax, cl
test eax, eax
je 0x5186e6
mov esi, ecx
jmp 0x5186e8
mov edx, ecx
mov eax, edx
sub eax, esi
cmp eax, 1
ja 0x5186d5
mov esi, dword [esp + 0x18]
mov eax, 1
mov ecx, edx
shl eax, cl
push eax
lea ecx, [ebx + 4]
call fcn.00513500
mov ecx, dword [esi + 0xc]
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
cmp edx, ecx
je 0x518722
shl eax, 2
push eax
push ecx
push edx
call fcn.005db1f0
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 0x51874c
call fcn.00610971
jmp 0x518751
call fcn.005d9065
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 0x518778
call fcn.00610971
jmp 0x51877d
call fcn.005d9065
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.005d9065
add esp, 4
mov ecx, ebx
call fcn.00516430
mov esi, dword [esp + 0x44]
test al, al
je 0x5187d0
mov ecx, esi
call fcn.00516430
test al, al
je 0x5187d0
mov ecx, ebx
call fcn.00516210
test al, al
je 0x5187d0
mov ecx, esi
call fcn.00516210
test al, al
jne 0x5187e7
push esi
lea ecx, [esp + 0x108]
call fcn.005165d0
test al, al
jne 0x5185b0
jmp 0x5187ec
mov byte [esp + 0x17], 1
lea ecx, [esp + 0x104]
mov byte [esp + 0x168], 5
call fcn.00517800
cmp byte [esp + 0x17], 0
mov edi, dword [esp + 0x98]
je 0x518245
cmp dword [ebp + 8], 1
lea ecx, [esp + 0x1c]
jne 0x5188c9
push 2
call fcn.0050ea00
lea eax, [esp + 0x1c]
mov byte [esp + 0x168], 0x12
push eax
lea ecx, [esi + 0x28]
call fcn.0050eca0
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 0x51886a
call fcn.00610971
jmp 0x51886f
call fcn.005d9065
add esp, 4
lea ecx, [esi + 0x28]
mov edx, esi
call fcn.00517a30
cmp eax, 1
je 0x518898
lea ecx, [esi + 0x28]
call fcn.00510570
mov edx, esi
lea ecx, [esi + 0x28]
call fcn.00517a30
cmp eax, 1
jne 0x518881
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 0x518b26
call fcn.00610971
jmp 0x518b2b
push 3
call fcn.0050ea00
lea eax, [esp + 0x1c]
mov byte [esp + 0x168], 0x13
lea ecx, [esi + 0x28]
push eax
call fcn.0050eca0
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 0x518911
call fcn.00610971
jmp 0x518916
call fcn.005d9065
mov ebx, dword [esp + 0xa0]
lea edi, [esi + 0x28]
add esp, 4
push 4
lea ecx, [esp + 0x34]
call fcn.0050ea00
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.004e70a0
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.004e7070
add esp, 0xc
mov dword [esp + 0x168], 0x16
or ebx, 4
mov edx, esi
mov dword [esp + 0x18], ebx
mov ecx, eax
call fcn.00517a30
cmp eax, 0xffffffff
jne 0x5189d9
push 2
lea ecx, [esp + 0x20]
call fcn.0050ea00
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.00517d80
lea ecx, [esp + 0x24]
or ebx, 0x10
push ecx
push eax
call fcn.004e6e90
add esp, 0x10
mov byte [esp + 0x17], 1
test al, al
jne 0x5189de
mov byte [esp + 0x17], 0
test bl, 0x10
je 0x518a19
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 0x518a11
call fcn.00610971
jmp 0x518a16
call fcn.005d9065
add esp, 4
test bl, 8
je 0x518a4f
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 0x518a47
call fcn.00610971
jmp 0x518a4c
call fcn.005d9065
add esp, 4
test bl, 4
je 0x518a8a
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 0x518a82
call fcn.00610971
jmp 0x518a87
call fcn.005d9065
add esp, 4
test bl, 2
je 0x518acb
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 0x518ac3
call fcn.00610971
jmp 0x518ac8
call fcn.005d9065
add esp, 4
mov dword [esp + 0x168], 5
test bl, 1
je 0x518b0c
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 0x518b04
call fcn.00610971
jmp 0x518b09
call fcn.005d9065
add esp, 4
cmp byte [esp + 0x17], 0
jne 0x518898
lea edi, [esi + 0x28]
mov ecx, edi
call fcn.00510570
jmp 0x518923
call fcn.005d9065
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 0x518b6e
call fcn.00610971
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.005d9065
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.0050eb70
add esp, 8
push 1
lea ecx, [esp + 0x20]
mov dword [esp + 0x16c], 0x18
call fcn.0050ea00
lea eax, [esp + 0xa0]
mov byte [esp + 0x168], 0x19
push edi
push eax
call fcn.0050eb70
lea ecx, [esp + 0x24]
mov byte [esp + 0x170], 0x1a
push ecx
push eax
lea eax, [esp + 0xd8]
push eax
call fcn.004e7070
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 0x518c1d
call fcn.00610971
jmp 0x518c22
call fcn.005d9065
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 0x518c53
call fcn.00610971
jmp 0x518c58
call fcn.005d9065
add esp, 4
lea eax, [ebx - 1]
push eax
lea eax, [esp + 0xf4]
push eax
call fcn.0050eb70
add esp, 8
push 1
lea ecx, [esp + 0x74]
mov byte [esp + 0x16c], 0x1e
call fcn.0050ea00
lea eax, [esp + 0xa0]
mov byte [esp + 0x168], 0x1f
push ebx
push eax
call fcn.0050eb70
lea ecx, [esp + 0x78]
mov byte [esp + 0x170], 0x20
push ecx
push eax
lea eax, [esp + 0x40]
push eax
call fcn.004e7070
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 0x518cdd
call fcn.00610971
jmp 0x518ce2
call fcn.005d9065
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 0x518d11
call fcn.004e4150
jmp 0x518d16
call fcn.004e41e0
mov ebx, dword [ebp + 0xc]
lea edi, [esi + 0x14]
add esp, 4
nop
call fcn.0050ec50
push eax
push ecx
call fcn.0050ec40
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.0050f8e0
push dword [ebp + 8]
lea ecx, [esp + 0x4c]
call fcn.0050ea00
push edi
lea eax, [esp + 0x4c]
mov byte [esp + 0x16c], 0x24
push eax
lea eax, [esp + 0x64]
push eax
call fcn.004e7100
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.0050f8e0
test al, al
lea ecx, [esp + 0x5c]
sete bl
call fcn.004e6e50
lea ecx, [esp + 0x48]
mov byte [esp + 0x168], 0x23
call fcn.004e6e50
test bl, bl
mov ebx, dword [ebp + 0xc]
jne 0x518d20
cmp dword [ebp + 8], 1
jne 0x518f40
lea ebx, [esi + 0x28]
lea esp, [esp]
push 2
lea ecx, [esp + 0x60]
call fcn.0050ea00
push 2
lea ecx, [esp + 0x4c]
mov byte [esp + 0x16c], 0x26
call fcn.0050ea00
lea eax, [esp + 0x5c]
mov byte [esp + 0x168], 0x27
push eax
lea eax, [esp + 0x74]
push esi
push eax
call fcn.004e7070
add esp, 0xc
mov esi, eax
mov byte [esp + 0x168], 0x28
call fcn.0050ec50
push eax
push ecx
call fcn.0050ec40
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.0050ea80
lea ecx, [esp + 0x70]
call fcn.004e6e50
lea ecx, [esp + 0x48]
call fcn.004e6e50
lea ecx, [esp + 0x5c]
mov byte [esp + 0x168], 0x2c
call fcn.004e6e50
push 1
lea ecx, [esp + 0x4c]
call fcn.0050ea00
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.004e7070
add esp, 0xc
push edi
push eax
lea eax, [esp + 0x24]
mov byte [esp + 0x170], 0x2e
push eax
call fcn.004e70d0
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.005123d0
add esp, 0x10
push eax
mov ecx, ebx
mov byte [esp + 0x16c], 0x30
call fcn.0050eca0
lea ecx, [esp + 0x5c]
call fcn.004e6e50
lea ecx, [esp + 0x1c]
call fcn.004e6e50
lea ecx, [esp + 0x84]
call fcn.004e6e50
lea ecx, [esp + 0x48]
call fcn.004e6e50
lea ecx, [esp + 0xb4]
mov byte [esp + 0x168], 0x23
call fcn.004e6e50
push 1
lea ecx, [esp + 0x4c]
call fcn.0050ea00
lea edx, [esp + 0x48]
mov ecx, ebx
call fcn.005147d0
lea ecx, [esp + 0x48]
mov bl, al
call fcn.004e6e50
test bl, bl
lea ebx, [esi + 0x28]
jne 0x518dd0
jmp 0x519126
push 1
lea ecx, [esp + 0x60]
call fcn.0050ea00
push 3
lea ecx, [esp + 0x4c]
mov byte [esp + 0x16c], 0x31
call fcn.0050ea00
lea eax, [esp + 0x5c]
mov byte [esp + 0x168], 0x32
push eax
lea eax, [esp + 0xb8]
push esi
push eax
call fcn.004e7070
add esp, 0xc
mov esi, eax
mov byte [esp + 0x168], 0x33
call fcn.0050ec50
push eax
push ecx
call fcn.0050ec40
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.0050ea80
lea ecx, [esp + 0xb4]
call fcn.004e6e50
lea ecx, [esp + 0x48]
call fcn.004e6e50
lea ecx, [esp + 0x5c]
mov byte [esp + 0x168], 0x37
call fcn.004e6e50
push 4
lea ecx, [esp + 0x4c]
call fcn.0050ea00
lea eax, [esp + 0x1c]
mov byte [esp + 0x168], 0x38
push eax
push eax
lea eax, [esp + 0x78]
push eax
call fcn.004e70a0
add esp, 0xc
lea ecx, [esp + 0x48]
mov byte [esp + 0x168], 0x39
push ecx
push eax
lea eax, [esp + 0x64]
push eax
call fcn.004e7070
add esp, 0xc
mov esi, dword [esp + 0x44]
mov ecx, eax
mov edx, esi
mov byte [esp + 0x168], 0x3a
call fcn.00517a30
cmp eax, 1
lea ecx, [esp + 0x5c]
sete bl
call fcn.004e6e50
lea ecx, [esp + 0x70]
call fcn.004e6e50
lea ecx, [esp + 0x48]
mov byte [esp + 0x168], 0x37
call fcn.004e6e50
test bl, bl
jne 0x5190eb
push 1
lea ecx, [esp + 0x4c]
call fcn.0050ea00
lea eax, [esp + 0x48]
mov byte [esp + 0x168], 0x3b
push eax
lea eax, [esp + 0x88]
push esi
push eax
call fcn.004e7040
add esp, 0xc
push edi
push eax
lea eax, [esp + 0x78]
mov byte [esp + 0x170], 0x3c
push eax
call fcn.004e70d0
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.00517d80
add esp, 8
push eax
lea ecx, [esi + 0x28]
mov byte [esp + 0x16c], 0x3e
call fcn.0050eca0
lea ecx, [esp + 0x5c]
call fcn.004e6e50
lea ecx, [esp + 0x70]
call fcn.004e6e50
lea ecx, [esp + 0x84]
call fcn.004e6e50
lea ecx, [esp + 0x48]
call fcn.004e6e50
lea ecx, [esp + 0x1c]
mov byte [esp + 0x168], 0x23
call fcn.004e6e50
push 2
lea ecx, [esp + 0x4c]
call fcn.0050ea00
lea edx, [esp + 0x48]
lea ecx, [esi + 0x28]
call fcn.005147d0
lea ecx, [esp + 0x48]
mov bl, al
call fcn.004e6e50
test bl, bl
jne 0x518f40
lea ecx, [esp + 0x30]
call fcn.004e6e50
lea ecx, [esp + 0xf0]
call fcn.004e6e50
lea ecx, [esp + 0xc8]
call fcn.004e6e50
lea ecx, [esp + 0xdc]
call fcn.004e6e50
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