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

Disassembly:
mov ecx, dword [0x98d270]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x38]
cmp eax, dword [ecx + 8]
jbe 0x50d6cf
sub esp, 0xb8
lea edi, [esp + 0x78]
xor eax, eax
call fcn.00468c20
mov ecx, dword [esp + 0xc0]
mov edx, dword [ecx + 4]
mov ebx, dword [ecx]
mov ebp, dword [esp + 0xc4]
mov esi, dword [esp + 0xc8]
mov eax, dword [esp + 0xcc]
mov edi, dword [esp + 0xbc]
mov dword [esp + 0x70], eax
xor eax, eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x70]
jmp 0x50d05b
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0xc]
xor ebx, ebp
mov ebp, dword [esp + 0xbc]
xor dword [ebp], ebx
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 8]
xor ebx, edi
xor dword [ebp + 4], ebx
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x3c]
xor ebx, edi
xor dword [ebp + 8], ebx
mov ebx, dword [esp + 0x20]
xor ebx, edx
xor dword [ebp + 0xc], ebx
mov edx, dword [esp + 0x1c]
xor edx, ecx
xor dword [ebp + 0x10], edx
mov ecx, dword [esp + 0x18]
xor ecx, eax
xor dword [ebp + 0x14], ecx
mov eax, dword [esp + 0x14]
xor eax, esi
xor dword [ebp + 0x18], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
xor eax, ecx
xor dword [ebp + 0x1c], eax
mov eax, dword [esp + 0xc4]
mov esi, dword [esp + 0xc8]
mov ecx, dword [esp + 0xcc]
mov ebx, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
mov edi, dword [esp + 0x50]
mov eax, ecx
mov ecx, dword [esp + 0xc0]
mov ebp, dword [esp + 0xc4]
mov edi, dword [esp + 0xbc]
mov esi, dword [esp + 0x50]
cmp eax, esi
jle 0x50d12b
add ebx, 0x40
cmp ebx, 0x40
jae 0x50d070
inc edx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x54], edx
mov ecx, dword [0x9361d0]
mov eax, dword [0x9361d4]
mov esi, dword [0x9361d8]
mov ebp, dword [edi]
mov dword [esp + 0x44], ebp
mov ebp, dword [edi + 4]
mov dword [esp + 0x40], ebp
mov ebp, dword [edi + 8]
mov dword [esp + 0x24], ebp
mov ebp, dword [edi + 0xc]
mov dword [esp + 0x20], ebp
mov ebp, dword [edi + 0x10]
mov dword [esp + 0x1c], ebp
mov ebp, dword [edi + 0x14]
mov dword [esp + 0x18], ebp
mov ebp, dword [edi + 0x18]
mov dword [esp + 0x14], ebp
mov edi, dword [edi + 0x1c]
mov ebp, dword [0x9361c0]
mov dword [esp + 0xc], ebp
mov ebp, dword [0x9361c4]
mov dword [esp + 8], ebp
mov ebp, dword [0x9361c8]
mov dword [esp + 0x3c], ebp
mov ebp, dword [0x9361cc]
mov dword [esp + 0x38], ebp
mov ebp, dword [0x9361dc]
mov dword [esp + 0x28], ebp
xor ecx, ebx
mov dword [esp + 0x34], ecx
xor eax, edx
mov dword [esp + 0x30], eax
mov edx, dword [esp + 0xc4]
xor esi, edx
mov dword [esp + 0x68], eax
xor eax, eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x68]
jmp 0x50d16a
mov edx, dword [esp + 0x38]
mov dword [esp + 0x60], eax
xor eax, eax
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x60]
jmp 0x50d215
mov dword [ecx], ebx
mov dword [ecx + 4], edx
add esp, 0xb8
ret
mov eax, dword [esp + 0xc8]
mov ecx, dword [eax + ebp]
mov dword [esp + edx*4 + 0x78], ecx
lea ecx, [edx + 1]
lea edx, [ebp + 4]
mov eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], edx
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0xc4]
mov edx, dword [esp + 0x4c]
cmp edx, 0x10
jge 0x50d114
mov ebx, dword [esp + 0xcc]
mov ebp, dword [esp + 0x50]
cmp ebx, ebp
jbe 0x50d6c5
lea eax, [ebp + 1]
cmp ebx, eax
jbe 0x50d6be
lea eax, [ebp + 2]
cmp ebx, eax
jbe 0x50d6b7
lea eax, [ebp + 3]
cmp ebx, eax
ja 0x50d137
jmp 0x50d6b0
mov dword [esp + 0x34], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + eax*4 + 0x78]
mov ecx, dword [esp + 0x20]
add eax, ecx
mov ecx, dword [esp + 0x1c]
rol ecx, 0x14
add eax, ecx
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x2c]
xor edx, eax
rol edx, 0x18
mov eax, dword [esp + 8]
add eax, edx
mov dword [esp + 8], eax
xor ecx, eax
mov eax, dword [esp + 0x48]
inc eax
nop
nop
rol ebp, 0x19
rol ebx, 0x19
rol esi, 0x19
rol ecx, 0x19
mov dword [esp + 0x48], eax
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x18], ebp
mov eax, edi
mov dword [esp + 0x14], ebx
mov edi, esi
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x58]
mov esi, edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x10], edi
mov ebx, dword [esp + 0x48]
cmp ebx, 0xa
jge 0x50cfc4
mov dword [esp + 0x38], edx
shl ebx, 4
lea edx, [0x937280]
movzx ebp, byte [edx + ebx]
cmp ebp, 0x10
jae 0x50d6a4
mov dword [esp + 0x2c], esi
mov ebp, dword [esp + ebp*4 + 0x78]
mov edi, dword [esp + 0x44]
add ebp, edi
mov edi, dword [esp + 0x1c]
add ebp, edi
mov dword [esp + 0x44], ebp
xor ecx, ebp
movzx ebp, byte [edx + ebx + 1]
rol ecx, 0x10
mov esi, dword [esp + 0xc]
add esi, ecx
nop
xor edi, esi
nop
cmp ebp, 0x10
jae 0x50d698
mov dword [esp + 0xc], esi
mov dword [esp + 0x1c], edi
mov ebp, dword [esp + ebp*4 + 0x78]
mov esi, dword [esp + 0x40]
add ebp, esi
mov esi, dword [esp + 0x18]
add ebp, esi
mov dword [esp + 0x40], ebp
xor eax, ebp
movzx ebp, byte [edx + ebx + 2]
rol eax, 0x10
mov edi, dword [esp + 8]
add edi, eax
nop
xor esi, edi
nop
cmp ebp, 0x10
jae 0x50d68c
mov dword [esp + 8], edi
mov dword [esp + 0x18], esi
mov ebp, dword [esp + ebp*4 + 0x78]
mov edi, dword [esp + 0x24]
add ebp, edi
mov edi, dword [esp + 0x14]
add ebp, edi
mov dword [esp + 0x24], ebp
mov esi, dword [esp + 0x2c]
xor esi, ebp
movzx ebp, byte [edx + ebx + 3]
rol esi, 0x10
mov edx, dword [esp + 0x3c]
add edx, esi
nop
xor edi, edx
nop
cmp ebp, 0x10
jae 0x50d680
mov dword [esp + 0x2c], esi
mov dword [esp + 0x3c], edx
mov dword [esp + 0x14], edi
mov ebp, dword [esp + ebp*4 + 0x78]
mov edx, dword [esp + 0x20]
add edx, ebp
mov ebp, dword [esp + 0x10]
add edx, ebp
mov dword [esp + 0x20], edx
mov esi, dword [esp + 0x28]
xor esi, edx
lea edx, [0x937280]
movzx edi, byte [edx + ebx + 4]
rol esi, 0x10
mov edx, dword [esp + 0x38]
add edx, esi
nop
xor ebp, edx
nop
cmp edi, 0x10
jae 0x50d674
mov dword [esp + 0x28], esi
mov dword [esp + 0x38], edx
mov dword [esp + 0x10], ebp
mov edi, dword [esp + edi*4 + 0x78]
mov edx, dword [esp + 0x44]
add edx, edi
lea edi, [0x937280]
movzx esi, byte [edi + ebx + 5]
mov ebp, dword [esp + 0x1c]
rol ebp, 0x14
add edx, ebp
mov dword [esp + 0x44], edx
xor ecx, edx
rol ecx, 0x18
mov edx, dword [esp + 0xc]
add edx, ecx
nop
xor ebp, edx
nop
cmp esi, 0x10
jae 0x50d668
mov dword [esp + 0xc], edx
mov dword [esp + 0x1c], ebp
mov esi, dword [esp + esi*4 + 0x78]
mov ebp, dword [esp + 0x40]
add ebp, esi
movzx esi, byte [edi + ebx + 6]
mov edx, dword [esp + 0x18]
rol edx, 0x14
add ebp, edx
mov dword [esp + 0x40], ebp
xor eax, ebp
rol eax, 0x18
mov ebp, dword [esp + 8]
add ebp, eax
nop
xor edx, ebp
nop
cmp esi, 0x10
jae 0x50d65c
mov dword [esp + 8], ebp
mov dword [esp + 0x18], edx
mov dword [esp + 0x5c], ebx
mov esi, dword [esp + esi*4 + 0x78]
mov ebp, dword [esp + 0x24]
add ebp, esi
movzx esi, byte [edi + ebx + 7]
mov edx, dword [esp + 0x14]
rol edx, 0x14
add ebp, edx
mov dword [esp + 0x24], ebp
mov ebx, dword [esp + 0x2c]
xor ebx, ebp
rol ebx, 0x18
mov ebp, dword [esp + 0x3c]
add ebp, ebx
nop
xor edx, ebp
nop
cmp esi, 0x10
jae 0x50d650
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x14], edx
mov esi, dword [esp + esi*4 + 0x78]
mov ebx, dword [esp + 0x20]
add ebx, esi
mov esi, dword [esp + 0x5c]
movzx eax, byte [edi + esi + 8]
mov edx, dword [esp + 0x10]
rol edx, 0x14
add ebx, edx
mov dword [esp + 0x20], ebx
mov ebp, dword [esp + 0x28]
xor ebp, ebx
rol ebp, 0x18
mov ebx, dword [esp + 0x38]
add ebx, ebp
nop
xor edx, ebx
nop
cmp eax, 0x10
jae 0x50d646
mov dword [esp + 0x38], ebx
mov dword [esp + 0x10], edx
mov eax, dword [esp + eax*4 + 0x78]
mov edx, dword [esp + 0x44]
add edx, eax
movzx eax, byte [edi + esi + 9]
mov ebx, dword [esp + 0x18]
rol ebx, 0x19
add edx, ebx
mov dword [esp + 0x44], edx
xor ebp, edx
rol ebp, 0x10
mov edx, dword [esp + 0x3c]
add edx, ebp
nop
xor ebx, edx
nop
cmp eax, 0x10
jae 0x50d63c
mov dword [esp + 0x28], ebp
mov dword [esp + 0x3c], edx
mov eax, dword [esp + eax*4 + 0x78]
mov edx, dword [esp + 0x40]
add edx, eax
movzx eax, byte [edi + esi + 0xa]
mov ebp, dword [esp + 0x14]
rol ebp, 0x19
add edx, ebp
mov dword [esp + 0x40], edx
xor ecx, edx
rol ecx, 0x10
mov edx, dword [esp + 0x38]
add edx, ecx
nop
xor ebp, edx
nop
cmp eax, 0x10
jae 0x50d632
mov dword [esp + 0x18], ebx
mov dword [esp + 0x38], edx
mov dword [esp + 0x14], ebp
mov eax, dword [esp + eax*4 + 0x78]
mov edx, dword [esp + 0x24]
add edx, eax
movzx eax, byte [edi + esi + 0xb]
mov ebp, dword [esp + 0x10]
rol ebp, 0x19
add edx, ebp
mov dword [esp + 0x24], edx
mov ebx, dword [esp + 0x30]
xor ebx, edx
rol ebx, 0x10
mov edx, dword [esp + 0xc]
add edx, ebx
nop
xor ebp, edx
nop
cmp eax, 0x10
jae 0x50d628
mov dword [esp + 0x30], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebp
mov eax, dword [esp + eax*4 + 0x78]
mov edx, dword [esp + 0x20]
add edx, eax
movzx eax, byte [edi + esi + 0xc]
mov ebx, dword [esp + 0x1c]
rol ebx, 0x19
add edx, ebx
mov dword [esp + 0x20], edx
mov ebp, dword [esp + 0x2c]
xor ebp, edx
rol ebp, 0x10
mov edx, dword [esp + 8]
add edx, ebp
nop
xor ebx, edx
nop
cmp eax, 0x10
jae 0x50d61e
mov dword [esp + 0x2c], ebp
mov dword [esp + 8], edx
mov dword [esp + 0x1c], ebx
mov eax, dword [esp + eax*4 + 0x78]
mov edx, dword [esp + 0x44]
add edx, eax
movzx eax, byte [edi + esi + 0xd]
mov ebp, dword [esp + 0x18]
rol ebp, 0x14
add edx, ebp
mov dword [esp + 0x44], edx
mov ebx, dword [esp + 0x28]
xor ebx, edx
rol ebx, 0x18
mov edx, dword [esp + 0x3c]
add edx, ebx
nop
xor ebp, edx
nop
cmp eax, 0x10
jae 0x50d614
mov dword [esp + 0x28], ebx
mov dword [esp + 0x3c], edx
mov eax, dword [esp + eax*4 + 0x78]
mov edx, dword [esp + 0x40]
add edx, eax
movzx eax, byte [edi + esi + 0xe]
mov ebx, dword [esp + 0x14]
rol ebx, 0x14
add edx, ebx
mov dword [esp + 0x40], edx
xor ecx, edx
rol ecx, 0x18
mov edx, dword [esp + 0x38]
add edx, ecx
nop
xor ebx, edx
nop
cmp eax, 0x10
jae 0x50d60a
mov dword [esp + 0x38], edx
mov eax, dword [esp + eax*4 + 0x78]
mov edx, dword [esp + 0x24]
add edx, eax
movzx eax, byte [edi + esi + 0xf]
mov esi, dword [esp + 0x10]
rol esi, 0x14
add edx, esi
mov dword [esp + 0x24], edx
mov edi, dword [esp + 0x30]
xor edi, edx
rol edi, 0x18
mov edx, dword [esp + 0xc]
add edx, edi
nop
xor esi, edx
nop
cmp eax, 0x10
jb 0x50d1a8
mov ecx, 0x10
call fcn.00468a00
mov ecx, 0x10
call fcn.00468a00
mov ecx, 0x10
call fcn.00468a00
mov ecx, 0x10
call fcn.00468a00
mov ecx, 0x10
call fcn.00468a00
mov ecx, 0x10
call fcn.00468a00
mov ecx, 0x10
call fcn.00468a00
mov ecx, 0x10
call fcn.00468a00
mov eax, esi
mov ecx, 0x10
call fcn.00468a00
mov eax, esi
mov ecx, 0x10
call fcn.00468a00
mov eax, esi
mov ecx, 0x10
call fcn.00468a00
mov eax, edi
mov ecx, 0x10
call fcn.00468a00
mov eax, ebp
mov ecx, 0x10
call fcn.00468a00
mov eax, ebp
mov ecx, 0x10
call fcn.00468a00
mov eax, ebp
mov ecx, 0x10
call fcn.00468a00
mov eax, ebp
mov ecx, 0x10
call fcn.00468a00
mov ecx, ebx
call fcn.00468a00
mov ecx, ebx
call fcn.00468a00
mov ecx, ebx
call fcn.00468a00
mov eax, ebp
mov ecx, ebx
call fcn.00468a00
nop
call fcn.00467590
jmp fcn.0050cf60