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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4ca627
mov eax, dword fs:[0]
push eax
sub esp, 0x9c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x503870]
xor eax, esp
push eax
lea eax, [esp + 0xb0]
mov dword fs:[0], eax
mov edi, dword [0x50a454]
mov eax, dword [edi + 0x2b8]
push 0x4e0c94
push 0x100
push 0x40b
push eax
call dword [fcn.004cd5fc]
push 0
call 0x584da3
mov ebx, dword [edi + 0x83c]
add esp, 4
push 0xffffffffffffffff
push ebx
mov esi, eax
mov ebp, edx
mov byte [esp + 0x58], 0
mov dword [esp + 0x54], ebx
call dword [fcn.004cd2fc]
mov dword [esp + 0xb8], 0
call 0x53ec90
mov ecx, dword [edi + 0x2b8]
push 0x4e0cb0
push 0x100
push 0x40b
push ecx
call dword [fcn.004cd5fc]
call 0x53ed40
mov edx, dword [0x50a72c]
push edx
mov ecx, edi
call fcn.00517490
mov byte [esp + 0x50], 1
mov dword [esp + 0xb8], 0xffffffff
push ebx
call dword [fcn.004cd2cc]
push 0
call 0x584da3
add esp, 4
push 0
sub eax, esi
push 2
sbb edx, ebp
push edx
push eax
call 0x588450
add esi, eax
mov eax, dword [0x50a72c]
mov ebx, dword [eax + 4]
adc ebp, edx
add eax, 4
push 0x4dd6c0
mov dword [esp + 0x1c], eax
call 0x55a5a0
push 0x4dd6cc
mov ebx, eax
call 0x55a5a0
mov ecx, eax
call 0x559f10
xor ebx, ebx
cmp eax, ebx
jne 0x51ce01
mov eax, dword [esp + 0x18]
mov ebx, dword [eax]
push 0x4dd6d4
call 0x55a5a0
push 0x4df4d8
mov ebx, eax
call 0x55a5a0
push 0x4dd6c0
mov ebx, eax
call 0x55a5a0
mov ecx, eax
call 0x559f10
xor ebx, ebx
cdq
sub esi, eax
sbb ebp, edx
mov dword [0x504f40], esi
mov esi, dword [0x50a72c]
mov dword [0x504f44], ebp
call 0x553660
call fcn.00524390
mov ecx, edi
call fcn.00524450
mov ecx, dword [edi + 0x2b8]
mov ebp, dword [fcn.004cd5fc]
push 0x4e0ccc
push 0x100
push 0x40b
push ecx
call ebp
mov edx, dword [edi + 0x2b8]
push 0x4df794
push 0x100
push 0x40b
push edx
call ebp
call fcn.005121f0
cmp eax, 1
jne 0x51cf10
mov eax, dword [edi + 0x2b8]
push 0x4e0ce0
push 0x100
push 0x40b
push eax
call ebp
call 0x543550
mov ecx, dword [edi + 0x2b8]
push 0x4df794
push 0x100
push 0x40b
mov esi, eax
push ecx
mov dword [esp + 0x28], esi
call ebp
mov ecx, dword [esi + 4]
mov al, byte [ecx + 8]
cmp al, bl
je 0x51ceb6
cmp al, 7
jne 0x51ced1
push 0x4dd6a8
call 0x55a770
cmp eax, 0x50b128
je 0x51ced1
push esi
call fcn.00510d50
test eax, eax
jne 0x51cee4
push 0x4e0cf8
push ebx
push 1
mov esi, edi
call fcn.00517740
mov esi, dword [esp + 0x18]
mov eax, dword [esi + 4]
mov dword [esp + 0x18], eax
cmp eax, ebx
je 0x51cf01
call 0x559a70
mov edx, dword [esp + 0x18]
push edx
call 0x5600be
add esp, 4
push esi
call fcn.0050c610
push esi
call 0x5600be
add esp, 4
call fcn.004f96b0
mov ecx, eax
call fcn.005141e0
test eax, eax
jne 0x51d5a5
mov eax, dword [edi + 0x2b8]
push 0x4e0d10
push 0x100
push 0x40b
push eax
call ebp
call 0x540a40
mov esi, eax
mov dword [esp + 0x60], esi
mov dword [esp + 0x78], esi
mov dword [esp + 0xb8], 1
mov ecx, dword [edi + 0x2b8]
push 0x4df794
push 0x100
push 0x40b
push ecx
call ebp
mov edx, dword [esp + 0x54]
and edx, 0xffffff01
or edx, 1
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x4c], ebx
mov byte [esp + 0xb8], 2
lea eax, [esp + 0x4c]
push eax
push 0x4dc858
lea ecx, [esp + 0x44]
push ecx
mov ecx, esi
call 0x55a860
mov byte [esp + 0xb8], 3
mov ecx, eax
call 0x559f10
cmp eax, 1
sete byte [esp + 0x1f]
mov byte [esp + 0xb8], 2
lea eax, [esp + 0x3c]
call 0x559a70
mov byte [esp + 0xb8], 1
lea eax, [esp + 0x4c]
call 0x559a70
cmp byte [esp + 0x1f], bl
je 0x51d69c
push 1
call fcn.004f96b0
mov ecx, eax
call fcn.004f8630
mov edx, dword [esp + 0x54]
and edx, 0xffffff01
or edx, 1
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x4c], ebx
mov byte [esp + 0xb8], 4
lea eax, [esp + 0x4c]
push eax
push 0x4e0d20
lea ecx, [esp + 0x44]
push ecx
mov ecx, esi
call 0x55a860
mov byte [esp + 0xb8], 5
mov ecx, eax
call 0x559f10
mov dword [esp + 0x24], eax
mov byte [esp + 0xb8], 4
lea eax, [esp + 0x3c]
call 0x559a70
mov byte [esp + 0xb8], 1
lea eax, [esp + 0x4c]
call 0x559a70
mov edx, dword [esp + 0x6c]
and edx, 0xffffff01
or edx, 1
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x64], ebx
mov byte [esp + 0xb8], 6
lea eax, [esp + 0x64]
push eax
push 0x4df648
lea ecx, [esp + 0x44]
push ecx
mov ecx, esi
call 0x55a860
mov byte [esp + 0xb8], 7
mov ecx, eax
call 0x559f10
mov dword [esp + 0x20], eax
mov byte [esp + 0xb8], 6
lea eax, [esp + 0x3c]
call 0x559a70
mov byte [esp + 0xb8], 1
lea eax, [esp + 0x64]
call 0x559a70
mov edx, dword [esp + 0x34]
and edx, 0xffffff01
or edx, 1
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x2c], ebx
mov byte [esp + 0xb8], 8
lea eax, [esp + 0x2c]
push eax
push 0x4e0d28
lea ecx, [esp + 0x6c]
push ecx
mov ecx, esi
call 0x55a860
mov dword [esp + 0x18], eax
mov byte [esp + 0xb8], 9
mov ebx, dword [0x50afd4]
push 0x4df4f0
call 0x55a5a0
mov ecx, eax
call 0x559f10
mov ecx, dword [esp + 0x18]
mov ebx, eax
call 0x559f10
xor edx, edx
test ebx, ebx
setg dl
inc edx
sub edx, eax
mov ebx, edx
mov dword [esp + 0x28], ebx
mov byte [esp + 0xb8], 8
lea eax, [esp + 0x64]
call 0x559a70
mov byte [esp + 0xb8], 1
lea eax, [esp + 0x2c]
call 0x559a70
mov eax, dword [esp + 0x20]
push ebx
push eax
push 0x4e0d30
push 0
push 1
push edi
call fcn.005178a0
add esp, 0x18
cmp dword [esp + 0x24], 0
jle 0x51d303
push 0x4e0d60
mov esi, edi
call fcn.00515fa0
mov ecx, dword [esp + 0x24]
add esp, 4
push ecx
call 0x5409d0
mov esi, eax
mov dword [esp + 0x24], esi
mov byte [esp + 0xb8], 0xa
mov edx, dword [edi + 0x2b8]
push 0x4df794
push 0x100
push 0x40b
push edx
call ebp
mov eax, dword [esp + 0x34]
and eax, 0xffffff01
or eax, 1
mov dword [esp + 0x34], eax
xor eax, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x2c], eax
mov byte [esp + 0xb8], 0xb
lea ecx, [esp + 0x2c]
push ecx
push 0x4dc858
lea edx, [esp + 0x44]
push edx
mov ecx, esi
call 0x55a860
mov byte [esp + 0xb8], 0xc
mov ecx, eax
call 0x559f10
cmp eax, 1
sete bl
mov byte [esp + 0xb8], 0xb
lea eax, [esp + 0x3c]
call 0x559a70
mov byte [esp + 0xb8], 0xa
lea eax, [esp + 0x2c]
call 0x559a70
test bl, bl
je 0x51d251
push 0x4e0d78
push 0
push 1
push edi
call fcn.005178a0
add esp, 0x10
jmp 0x51d2df
mov eax, dword [esp + 0x34]
and eax, 0xffffff05
or eax, 5
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], 0
mov byte [esp + 0x2c], 1
mov byte [esp + 0xb8], 0xd
lea ecx, [esp + 0x2c]
push ecx
push 0x4dc860
lea edx, [esp + 0x44]
push edx
mov ecx, esi
call 0x55a860
mov byte [esp + 0xb8], 0xe
mov eax, dword [eax]
push eax
call fcn.004e7980
add esp, 4
mov ebx, eax
mov byte [esp + 0xb8], 0xd
lea eax, [esp + 0x3c]
call 0x559a70
mov byte [esp + 0xb8], 0xa
lea eax, [esp + 0x2c]
call 0x559a70
push ebx
push 0x4e0da4
push 4
push 1
push edi
call fcn.005178a0
add esp, 0x14
push ebx
call 0x5600be
add esp, 4
mov byte [esp + 0xb8], 1
test esi, esi
je 0x51d2fb
mov eax, esi
call 0x559a70
push esi
call 0x5600be
add esp, 4
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x60]
mov dword [esp + 0x28], 0
test ebx, ebx
jle 0x51d584
mov dword [esp + 0x20], 1
mov dword [esp + 0x18], ebx
mov eax, dword [esp + 0x20]
push eax
push 0x4e0dc0
mov esi, edi
call fcn.00515fa0
mov ecx, dword [esp + 0x30]
add esp, 8
push ecx
call 0x540aa0
mov esi, eax
mov dword [esp + 0x4c], esi
mov byte [esp + 0xb8], 0xf
mov edx, dword [edi + 0x2b8]
push 0x4df794
push 0x100
push 0x40b
push edx
call ebp
mov eax, dword [esp + 0x34]
and eax, 0xffffff01
or eax, 1
mov dword [esp + 0x34], eax
xor eax, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x2c], eax
mov byte [esp + 0xb8], 0x10
lea ecx, [esp + 0x2c]
push ecx
push 0x4dc858
lea edx, [esp + 0xa4]
push edx
mov ecx, esi
call 0x55a860
mov byte [esp + 0xb8], 0x11
mov ecx, eax
call 0x559f10
cmp eax, 1
sete bl
mov byte [esp + 0xb8], 0x10
lea eax, [esp + 0x9c]
call 0x559a70
mov byte [esp + 0xb8], 0xf
lea eax, [esp + 0x2c]
call 0x559a70
test bl, bl
je 0x51d46e
mov eax, dword [esp + 0x6c]
and eax, 0xffffff01
xor ebx, ebx
or eax, 1
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ebx
mov dword [esp + 0x64], ebx
mov byte [esp + 0xb8], 0x12
lea ecx, [esp + 0x64]
push ecx
push 0x4db914
lea edx, [esp + 0x94]
push edx
mov ecx, esi
call 0x55a860
mov byte [esp + 0xb8], 0x13
mov ecx, eax
call 0x559f10
mov dword [esp + 0x28], eax
mov byte [esp + 0xb8], 0x12
lea eax, [esp + 0x8c]
call 0x559a70
mov byte [esp + 0xb8], 0xf
lea eax, [esp + 0x64]
call 0x559a70
mov eax, dword [esp + 0x20]
push eax
push 0x4e0dd4
push ebx
push 1
push edi
call fcn.005178a0
add esp, 0x14
jmp 0x51d551
mov ecx, dword [esp + 0x44]
and ecx, 0xffffff05
or ecx, 5
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], 0
mov byte [esp + 0x3c], 1
mov byte [esp + 0xb8], 0x14
lea edx, [esp + 0x3c]
push edx
push 0x4dc860
lea eax, [esp + 0x84]
push eax
mov ecx, esi
call 0x55a860
mov byte [esp + 0xb8], 0x15
mov ebx, dword [eax]
push 0
push 0
push 0xffffffffffffffff
push ebx
push 0
push 0xfde9
call dword [0x4cd344]
mov ebp, eax
test ebp, ebp
jne 0x51d4d8
mov ebx, 0x4daa50
jmp 0x51d50d
xor ecx, ecx
mov eax, ebp
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call 0x5600c9
add esp, 4
push ebp
push eax
push 0xffffffffffffffff
push ebx
push 0
push 0xfde9
mov dword [esp + 0x3c], eax
call dword [0x4cd344]
mov ebx, dword [esp + 0x24]
mov byte [esp + 0xb8], 0x14
lea eax, [esp + 0x7c]
call 0x559a70
mov byte [esp + 0xb8], 0xf
lea eax, [esp + 0x3c]
call 0x559a70
push ebx
push 0x4e0dfc
push 4
push 1
push edi
call fcn.005178a0
add esp, 0x14
push ebx
call 0x5600be
mov ebp, dword [fcn.004cd5fc]
add esp, 4
mov byte [esp + 0xb8], 1
test esi, esi
je 0x51d56d
mov eax, esi
call 0x559a70
push esi
call 0x5600be
add esp, 4
mov eax, 1
add dword [esp + 0x20], eax
sub dword [esp + 0x18], eax
jne 0x51d31f
mov esi, dword [esp + 0x60]
xor ebx, ebx
mov dword [esp + 0xb8], 0xffffffff
cmp esi, ebx
je 0x51d5a5
mov eax, esi
call 0x559a70
push esi
call 0x5600be
add esp, 4
mov edx, dword [0x50a72c]
mov eax, dword [edx + 0x18]
mov eax, dword [eax + 4]
push 0x4df49c
mov ebx, eax
call 0x55a5a0
mov ecx, eax
call 0x559f10
cmp eax, 1
je 0x51d76e
call fcn.004f96b0
mov ecx, eax
call fcn.00514010
test eax, eax
je 0x51d76e
call fcn.004f96b0
mov ecx, eax
call fcn.00514110
call fcn.004f98f0
push 0x24
push 0x4dc344
push 0x4e0e20
mov ecx, edi
call 0x564305
cmp eax, 6
jne 0x51d76e
mov eax, dword [edi + 0x2b8]
push 0x4e0eb4
push 0x100
push 0x40b
push eax
call ebp
call 0x546bf0
mov esi, eax
mov dword [esp + 0x24], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0xb8], 0x18
mov ecx, dword [edi + 0x2b8]
push 0x4df794
push 0x100
push 0x40b
push ecx
call ebp
mov ebx, dword [esi + 4]
push 0x4dc858
call 0x55a5a0
mov ecx, eax
call 0x559f10
cmp eax, 1
jne 0x51d738
mov edx, dword [0x50a72c]
mov ecx, dword [edx + 0x18]
call fcn.00511910
push 0x4e0ec8
push 3
push 1
mov esi, edi
call fcn.00517740
mov esi, dword [esp + 0x24]
jmp 0x51d754
mov eax, dword [esp + 0x44]
and eax, 0xffffff05
or eax, 5
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], ebx
mov byte [esp + 0x3c], 1
mov byte [esp + 0xb8], 0x16
lea ecx, [esp + 0x3c]
push ecx
push 0x4dc860
lea edx, [esp + 0x84]
push edx
mov ecx, esi
call 0x55a860
mov byte [esp + 0xb8], 0x17
mov eax, dword [eax]
push eax
call fcn.004e7980
add esp, 4
mov dword [esp + 0x18], eax
mov byte [esp + 0xb8], 0x16
lea eax, [esp + 0x7c]
call 0x559a70
mov byte [esp + 0xb8], 1
lea eax, [esp + 0x3c]
call 0x559a70
mov eax, dword [esp + 0x18]
push eax
push 0x4e0e0c
push 4
push 1
push edi
call fcn.005178a0
mov ecx, dword [esp + 0x2c]
add esp, 0x14
push ecx
call 0x5600be
add esp, 4
jmp 0x51d586
mov eax, esi
call fcn.00511070
mov eax, dword [eax]
push eax
push 0x4e0edc
push 4
push 1
push edi
call fcn.005178a0
add esp, 0x14
mov dword [esp + 0xb8], 0xffffffff
push esi
call fcn.0050c610
push esi
call 0x5600be
add esp, 4
mov ecx, dword [esp + 0xb0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret