Function at 0x5257b0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push esi
push edi
push ebx
push ebp
sub esp, 0x50
xor esi, esi
movzx edx, byte [0x6c51ad]
mov edi, 4
and edx, 1
mov ebp, 1
shl edx, 8
add edx, 0x85
mov dword [0x6c51ac], edx
mov edx, dword [0x81eb68]
test edx, edx
mov eax, dword [0x81eeb0]
cmovle edx, esi
test eax, eax
mov dword [0x6c51a4], edi
cmovle eax, esi
mov dword [0x6c51b0], 2
mov dword [0x6c51a8], esi
lea ecx, [edx*4]
mov dword [0x6c51c8], ecx
lea ecx, [esp]
push edi
push eax
push edx
push 3
push ecx
mov dword [0x6c51c0], ebp
mov dword [0x6c51b8], edx
mov dword [0x6c51cc], ebp
mov dword [0x6c51c4], eax
mov dword [0x6c51bc], edi
call fcn.005c12c0
mov edx, dword [0x6c51ac]
and eax, 1
and edx, 0xfffffff
add edx, 0x40000000
mov ecx, edx
mov dword [0x6c51ac], edx
and ecx, 1
shr edx, 8
add ecx, ecx
shl eax, 4
and edx, 1
shl edx, 0x15
or ecx, eax
or ecx, edx
add ecx, 0x40000
push ecx
push 0x6c51a0
push dword [esp + 0x1c]
call fcn.005c0f80
mov edx, dword [0x81eeb0]
test edx, edx
movzx eax, byte [0x6c5185]
lea ecx, [esp + 0x24]
push edi
cmovle edx, esi
and eax, 1
push edx
shl eax, 8
push 2
push ecx
add eax, 0x85
mov dword [0x6c5184], eax
mov dword [0x6c517c], edi
mov dword [0x6c5188], ebp
mov dword [0x6c5180], esi
mov dword [0x6c5198], ebp
mov dword [0x6c5190], edx
mov dword [0x6c5194], edi
call fcn.005c12c0
mov edx, dword [0x6c5184]
and eax, 1
and edx, 0xfffffff
add edx, 0x40000000
mov ecx, edx
mov dword [0x6c5184], edx
and ecx, 1
shr edx, 8
add ecx, ecx
shl eax, 4
and edx, 1
shl edx, 0x15
or ecx, eax
or ecx, edx
add ecx, 0x40000
push ecx
push 0x6c5178
push dword [esp + 0x3c]
call fcn.005c0f80
mov eax, dword [0x81eb68]
test eax, eax
movzx ecx, byte [0x6c5155]
cmovle eax, esi
mov ebx, 8
and ecx, 1
mov edx, dword [0x81eeb0]
test edx, edx
mov dword [0x6c514c], ebx
cmovle edx, esi
shl ecx, 8
add ecx, 0x85
mov dword [0x6c5154], ecx
lea ecx, [eax*8]
mov dword [0x6c5170], ecx
lea ecx, [esp + 0x44]
push ebx
push edx
push eax
push 3
push ecx
mov dword [0x6c5158], 2
mov dword [0x6c5150], esi
mov dword [0x6c5168], ebp
mov dword [0x6c5160], eax
mov dword [0x6c5174], ebp
mov dword [0x6c516c], edx
mov dword [0x6c5164], ebx
call fcn.005c12c0
mov edx, dword [0x6c5154]
and eax, 1
and edx, 0xfffffff
add edx, 0x40000000
mov ecx, edx
mov dword [0x6c5154], edx
and ecx, 1
shr edx, 8
add ecx, ecx
shl eax, 4
and edx, 1
shl edx, 0x15
or ecx, eax
or ecx, edx
add ecx, 0x40000
push ecx
push 0x6c5148
push dword [esp + 0x60]
call fcn.005c0f80
mov eax, dword [0x81eb68]
test eax, eax
movzx ecx, byte [0x6c5125]
cmovle eax, esi
and ecx, 1
mov edx, dword [0x81eeb0]
test edx, edx
mov dword [0x6c511c], ebx
cmovle edx, esi
shl ecx, 8
add ecx, 0x85
mov dword [0x6c5124], ecx
lea ecx, [eax*8]
mov dword [0x6c5140], ecx
lea ecx, [esp + 0x68]
push ebx
push edx
push eax
push 3
push ecx
mov dword [0x6c5128], 2
mov dword [0x6c5120], esi
mov dword [0x6c5138], ebp
mov dword [0x6c5130], eax
mov dword [0x6c5144], ebp
mov dword [0x6c513c], edx
mov dword [0x6c5134], ebx
call fcn.005c12c0
mov edx, dword [0x6c5124]
and eax, 1
and edx, 0xfffffff
add edx, 0x40000000
mov ecx, edx
mov dword [0x6c5124], edx
and ecx, 1
shr edx, 8
add ecx, ecx
shl eax, 4
and edx, 1
shl edx, 0x15
or ecx, eax
or ecx, edx
add ecx, 0x40000
push ecx
push 0x6c5118
push dword [esp + 0x84]
call fcn.005c0f80
add esp, 0x7c
mov edx, dword [0x81eeb0]
test edx, edx
movzx eax, byte [0x6c52b5]
lea ecx, [esp + 0x10]
push edi
cmovle edx, esi
and eax, 1
push edx
shl eax, 8
push 2
push ecx
add eax, 0x85
mov dword [0x6c52b4], eax
mov dword [0x6c52ac], edi
mov dword [0x6c52b8], ebp
mov dword [0x6c52b0], esi
mov dword [0x6c52c8], ebp
mov dword [0x6c52c0], edx
mov dword [0x6c52c4], edi
call fcn.005c12c0
mov edx, dword [0x6c52b4]
and eax, 1
and edx, 0xfffffff
add edx, 0x40000000
mov ecx, edx
mov dword [0x6c52b4], edx
and ecx, 1
shr edx, 8
add ecx, ecx
shl eax, 4
and edx, 1
shl edx, 0x15
or ecx, eax
or ecx, edx
add ecx, 0x40000
push ecx
push 0x6c52a8
push dword [esp + 0x28]
call fcn.005c0f80
mov edx, dword [0x81eeb0]
test edx, edx
movzx eax, byte [0x6c528d]
lea ecx, [esp + 0x30]
push edi
cmovle edx, esi
and eax, 1
push edx
shl eax, 8
push 2
push ecx
add eax, 0x85
mov dword [0x6c528c], eax
mov dword [0x6c5284], edi
mov dword [0x6c5290], ebp
mov dword [0x6c5288], esi
mov dword [0x6c52a0], ebp
mov dword [0x6c5298], edx
mov dword [0x6c529c], edi
call fcn.005c12c0
mov edx, dword [0x6c528c]
and eax, 1
and edx, 0xfffffff
add edx, 0x40000000
mov ecx, edx
mov dword [0x6c528c], edx
and ecx, 1
shr edx, 8
add ecx, ecx
shl eax, 4
and edx, 1
shl edx, 0x15
or ecx, eax
or ecx, edx
add ecx, 0x40000
push ecx
push 0x6c5280
push dword [esp + 0x48]
call fcn.005c0f80
mov edx, dword [0x81eeb0]
test edx, edx
movzx eax, byte [0x6c5265]
lea ecx, [esp + 0x50]
push edi
cmovle edx, esi
and eax, 1
push edx
shl eax, 8
push 2
push ecx
add eax, 0x85
mov dword [0x6c5264], eax
mov dword [0x6c525c], edi
mov dword [0x6c5268], ebp
mov dword [0x6c5260], esi
mov dword [0x6c5278], ebp
mov dword [0x6c5270], edx
mov dword [0x6c5274], edi
call fcn.005c12c0
mov edx, dword [0x6c5264]
and eax, 1
and edx, 0xfffffff
add edx, 0x40000000
mov ecx, edx
mov dword [0x6c5264], edx
and ecx, 1
shr edx, 8
add ecx, ecx
shl eax, 4
and edx, 1
shl edx, 0x15
or ecx, eax
or ecx, edx
add ecx, 0x40000
push ecx
push 0x6c5258
push dword [esp + 0x68]
call fcn.005c0f80
mov eax, dword [0x81eea8]
test eax, eax
movzx ecx, byte [0x6c5235]
cmovle eax, esi
and ecx, 1
mov edx, dword [0x81eeb0]
test edx, edx
mov dword [0x6c522c], edi
cmovle edx, esi
shl ecx, 8
add ecx, 0x85
mov dword [0x6c5234], ecx
lea ecx, [eax*4]
mov dword [0x6c5250], ecx
lea ecx, [esp + 0x70]
push edi
push edx
push eax
push 3
push ecx
mov dword [0x6c5238], 2
mov dword [0x6c5230], esi
mov dword [0x6c5248], ebp
mov dword [0x6c5240], eax
mov dword [0x6c5254], ebp
mov dword [0x6c524c], edx
mov dword [0x6c5244], edi
call fcn.005c12c0
mov edx, dword [0x6c5234]
and eax, 1
and edx, 0xfffffff
add edx, 0x40000000
mov ecx, edx
mov dword [0x6c5234], edx
and ecx, 1
shr edx, 8
add ecx, ecx
shl eax, 4
and edx, 1
shl edx, 0x15
or ecx, eax
or ecx, edx
add ecx, 0x40000
push ecx
push 0x6c5228
push dword [esp + 0x8c]
call fcn.005c0f80
add esp, 0x74
mov eax, dword [0x81eea8]
test eax, eax
movzx ecx, byte [0x6c5205]
cmovle eax, esi
and ecx, 1
mov edx, dword [0x81eeb0]
test edx, edx
mov dword [0x6c51fc], edi
cmovle edx, esi
shl ecx, 8
add ecx, 0x85
mov dword [0x6c5204], ecx
lea ecx, [eax*4]
mov dword [0x6c5220], ecx
lea ecx, [esp + 0x20]
push edi
push edx
push eax
push 3
push ecx
mov dword [0x6c5208], 2
mov dword [0x6c5200], esi
mov dword [0x6c5218], ebp
mov dword [0x6c5210], eax
mov dword [0x6c5224], ebp
mov dword [0x6c521c], edx
mov dword [0x6c5214], edi
call fcn.005c12c0
mov edx, dword [0x6c5204]
and eax, 1
and edx, 0xfffffff
add edx, 0x40000000
mov ecx, edx
mov dword [0x6c5204], edx
and ecx, 1
shr edx, 8
add ecx, ecx
shl eax, 4
and edx, 1
shl edx, 0x15
or ecx, eax
or ecx, edx
add ecx, 0x40000
push ecx
push 0x6c51f8
push dword [esp + 0x3c]
call fcn.005c0f80
mov edx, dword [0x81eeb0]
test edx, edx
movzx eax, byte [0x6c51dd]
lea ecx, [esp + 0x44]
push ebx
cmovle edx, esi
and eax, 1
push edx
shl eax, 8
push 2
push ecx
add eax, 0x85
mov dword [0x6c51dc], eax
mov dword [0x6c51d4], ebx
mov dword [0x6c51e0], ebp
mov dword [0x6c51d8], esi
mov dword [0x6c51f0], ebp
mov dword [0x6c51e8], edx
mov dword [0x6c51ec], ebx
call fcn.005c12c0
mov edx, dword [0x6c51dc]
and eax, 1
and edx, 0xfffffff
add edx, 0x40000000
mov ecx, edx
mov dword [0x6c51dc], edx
and ecx, 1
shr edx, 8
add ecx, ecx
shl eax, 4
and edx, 1
shl edx, 0x15
or ecx, eax
or ecx, edx
add ecx, 0x40000
push ecx
push 0x6c51d0
push dword [esp + 0x5c]
call fcn.005c0f80
mov edx, dword [0x81eeb0]
test edx, edx
movzx eax, byte [0x6c52dd]
lea ecx, [esp + 0x64]
push edi
cmovle edx, esi
and eax, 1
push edx
shl eax, 8
push 2
push ecx
add eax, 0x85
mov dword [0x6c52dc], eax
mov dword [0x6c52d4], edi
mov dword [0x6c52e0], ebp
mov dword [0x6c52d8], esi
mov dword [0x6c52f0], ebp
mov dword [0x6c52e8], edx
mov dword [0x6c52ec], edi
call fcn.005c12c0
mov edx, dword [0x6c52dc]
and eax, 1
and edx, 0xfffffff
add edx, 0x40000000
mov ecx, edx
mov dword [0x6c52dc], edx
and ecx, 1
shr edx, 8
add ecx, ecx
shl eax, 4
and edx, 1
shl edx, 0x15
or ecx, eax
or ecx, edx
add ecx, 0x40000
push ecx
push 0x6c52d0
push dword [esp + 0x7c]
call fcn.005c0f80
mov eax, dword [0x81eea8]
test eax, eax
movzx ecx, byte [0x6c538d]
cmovle eax, esi
and ecx, 1
mov edx, dword [0x81eeb0]
test edx, edx
mov dword [0x6c5384], ebx
cmovle edx, esi
shl ecx, 8
add ecx, 0x85
mov dword [0x6c538c], ecx
lea ecx, [eax*8]
mov dword [0x6c53a8], ecx
lea ecx, [esp + 0x84]
push ebx
push edx
push eax
push 3
push ecx
mov dword [0x6c5390], 2
mov dword [0x6c5388], esi
mov dword [0x6c53a0], ebp
mov dword [0x6c5398], eax
mov dword [0x6c53ac], ebp
mov dword [0x6c53a4], edx
mov dword [0x6c539c], ebx
call fcn.005c12c0
mov edx, dword [0x6c538c]
and eax, 1
and edx, 0xfffffff
add edx, 0x40000000
mov ecx, edx
mov dword [0x6c538c], edx
and ecx, 1
shr edx, 8
add ecx, ecx
shl eax, 4
and edx, 1
shl edx, 0x15
or ecx, eax
or ecx, edx
add ecx, 0x40000
push ecx
push 0x6c5380
push dword [esp + 0xa0]
call fcn.005c0f80
add esp, 0x78
mov eax, dword [0x81eea8]
test eax, eax
movzx ecx, byte [0x6c535d]
cmovle eax, esi
and ecx, 1
mov edx, dword [0x81eeb0]
test edx, edx
mov dword [0x6c5354], ebx
cmovle edx, esi
shl ecx, 8
add ecx, 0x85
mov dword [0x6c535c], ecx
lea ecx, [eax*8]
mov dword [0x6c5378], ecx
lea ecx, [esp + 0x30]
push ebx
push edx
push eax
push 3
push ecx
mov dword [0x6c5360], 2
mov dword [0x6c5358], esi
mov dword [0x6c5370], ebp
mov dword [0x6c5368], eax
mov dword [0x6c537c], ebp
mov dword [0x6c5374], edx
mov dword [0x6c536c], ebx
call fcn.005c12c0
mov edx, dword [0x6c535c]
and eax, 1
and edx, 0xfffffff
add edx, 0x40000000
mov ecx, edx
mov dword [0x6c535c], edx
and ecx, 1
shr edx, 8
add ecx, ecx
shl eax, 4
and edx, 1
shl edx, 0x15
or ecx, eax
or ecx, edx
add ecx, 0x40000
push ecx
push 0x6c5350
push dword [esp + 0x4c]
call fcn.005c0f80
mov eax, dword [0x81eea8]
test eax, eax
movzx ecx, byte [0x6c532d]
cmovle eax, esi
and ecx, 1
mov edx, dword [0x81eeb0]
test edx, edx
mov dword [0x6c5324], ebx
cmovle edx, esi
shl ecx, 8
add ecx, 0x85
mov dword [0x6c532c], ecx
lea ecx, [eax*8]
mov dword [0x6c5348], ecx
lea ecx, [esp + 0x54]
push ebx
push edx
push eax
push 3
push ecx
mov dword [0x6c5330], 2
mov dword [0x6c5328], esi
mov dword [0x6c5340], ebp
mov dword [0x6c5338], eax
mov dword [0x6c534c], ebp
mov dword [0x6c5344], edx
mov dword [0x6c533c], ebx
call fcn.005c12c0
mov edx, dword [0x6c532c]
and eax, 1
and edx, 0xfffffff
add edx, 0x40000000
mov ecx, edx
mov dword [0x6c532c], edx
and ecx, 1
shr edx, 8
add ecx, ecx
shl eax, 4
and edx, 1
shl edx, 0x15
or ecx, eax
or ecx, edx
add ecx, 0x40000
push ecx
push 0x6c5320
push dword [esp + 0x70]
call fcn.005c0f80
mov edx, dword [0x81eea8]
test edx, edx
movzx eax, byte [0x6c5305]
lea ecx, [esp + 0x78]
push edi
cmovle edx, esi
and eax, 1
push edx
shl eax, 8
push 2
push ecx
add eax, 0x85
mov dword [0x6c5304], eax
mov dword [0x6c52fc], edi
mov dword [0x6c5308], ebp
mov dword [0x6c5300], esi
mov dword [0x6c5318], ebp
mov dword [0x6c5310], edx
mov dword [0x6c5314], edi
call fcn.005c12c0
mov edx, dword [0x6c5304]
and eax, 1
and edx, 0xfffffff
add edx, 0x40000000
mov ecx, edx
mov dword [0x6c5304], edx
and ecx, 1
shr edx, 8
add ecx, ecx
shl eax, 4
and edx, 1
shl edx, 0x15
or ecx, eax
or ecx, edx
add ecx, 0x40000
push ecx
push 0x6c52f8
push dword [esp + 0x90]
call fcn.005c0f80
mov edx, dword [0x81eeb0]
test edx, edx
movzx eax, byte [0x6c545d]
lea ecx, [esp + 0x98]
push edi
cmovle edx, esi
and eax, 1
push edx
shl eax, 8
push 2
push ecx
add eax, 0x85
mov dword [0x6c545c], eax
mov dword [0x6c5454], edi
mov dword [0x6c5460], ebp
mov dword [0x6c5458], esi
mov dword [0x6c5470], ebp
mov dword [0x6c5468], edx
mov dword [0x6c546c], edi
call fcn.005c12c0
mov edx, dword [0x6c545c]
and eax, 1
and edx, 0xfffffff
add edx, 0x40000000
mov ecx, edx
mov dword [0x6c545c], edx
and ecx, 1
shr edx, 8
add ecx, ecx
shl eax, 4
and edx, 1
shl edx, 0x15
or ecx, eax
or ecx, edx
add ecx, 0x40000
push ecx
push 0x6c5450
push dword [esp + 0xb0]
call fcn.005c0f80
add esp, 0x78
mov edx, dword [0x81eeb0]
test edx, edx
movzx eax, byte [0x6c5435]
lea ecx, [esp + 0x40]
push edi
cmovle edx, esi
and eax, 1
push edx
shl eax, 8
push 2
push ecx
add eax, 0x85
mov dword [0x6c5434], eax
mov dword [0x6c542c], edi
mov dword [0x6c5438], ebp
mov dword [0x6c5430], esi
mov dword [0x6c5448], ebp
mov dword [0x6c5440], edx
mov dword [0x6c5444], edi
call fcn.005c12c0
mov edx, dword [0x6c5434]
and eax, 1
and edx, 0xfffffff
add edx, 0x40000000
mov ecx, edx
mov dword [0x6c5434], edx
and ecx, 1
shr edx, 8
add ecx, ecx
shl eax, 4
and edx, 1
shl edx, 0x15
or ecx, eax
or ecx, edx
add ecx, 0x40000
push ecx
push 0x6c5428
push dword [esp + 0x58]
call fcn.005c0f80
mov edx, dword [0x81eeb0]
test edx, edx
movzx eax, byte [0x6c53bd]
lea ecx, [esp + 0x60]
push edi
cmovle edx, esi
and eax, 1
push edx
shl eax, 8
push 2
push ecx
add eax, 0x85
mov dword [0x6c53bc], eax
mov dword [0x6c53b4], edi
mov dword [0x6c53c0], ebp
mov dword [0x6c53b8], esi
mov dword [0x6c53d0], ebp
mov dword [0x6c53c8], edx
mov dword [0x6c53cc], edi
call fcn.005c12c0
mov edx, dword [0x6c53bc]
and eax, 1
and edx, 0xfffffff
add edx, 0x40000000
mov ecx, edx
mov dword [0x6c53bc], edx
and ecx, 1
shr edx, 8
add ecx, ecx
shl eax, 4
and edx, 1
shl edx, 0x15
or ecx, eax
or ecx, edx
add ecx, 0x40000
push ecx
push 0x6c53b0
push dword [esp + 0x78]
call fcn.005c0f80
mov edx, dword [0x81eeb0]
test edx, edx
movzx eax, byte [0x6c540d]
lea ecx, [esp + 0x80]
push edi
cmovle edx, esi
and eax, 1
push edx
shl eax, 8
push 2
push ecx
add eax, 0x85
mov dword [0x6c540c], eax
mov dword [0x6c5404], edi
mov dword [0x6c5410], ebp
mov dword [0x6c5408], esi
mov dword [0x6c5420], ebp
mov dword [0x6c5418], edx
mov dword [0x6c541c], edi
call fcn.005c12c0
mov edx, dword [0x6c540c]
and eax, 1
and edx, 0xfffffff
add edx, 0x40000000
mov ecx, edx
mov dword [0x6c540c], edx
and ecx, 1
shr edx, 8
add ecx, ecx
shl eax, 4
and edx, 1
shl edx, 0x15
or ecx, eax
or ecx, edx
add ecx, 0x40000
push ecx
push 0x6c5400
push dword [esp + 0x98]
call fcn.005c0f80
mov edx, dword [0x81eeb0]
test edx, edx
mov dword [0x6c53e0], esi
lea ecx, [esp + 0xa0]
push edi
cmovg esi, edx
movzx eax, byte [0x6c53e5]
push esi
and eax, 1
shl eax, 8
push 2
push ecx
add eax, 0x85
mov dword [0x6c53e4], eax
mov dword [0x6c53dc], edi
mov dword [0x6c53e8], ebp
mov dword [0x6c53f8], ebp
mov dword [0x6c53f0], esi
mov dword [0x6c53f4], edi
call fcn.005c12c0
mov edx, dword [0x6c53e4]
and eax, 1
and edx, 0xfffffff
add edx, 0x40000000
mov ecx, edx
mov dword [0x6c53e4], edx
and ecx, 1
shr edx, 8
add ecx, ecx
shl eax, 4
and edx, 1
shl edx, 0x15
or ecx, eax
or ecx, edx
add ecx, 0x40000
push ecx
push 0x6c53d8
push dword [esp + 0xb8]
call fcn.005c0f80
add esp, 0xc0
pop ebp
pop ebx
pop edi
pop esi
ret