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

Disassembly:
push 0xffffffffffffffff
push 0x573ef4
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x668038]
xor eax, esp
push eax
lea eax, [esp + 0x70]
mov dword fs:[0], eax
mov dword [esp + 0x14], 0
mov ebp, dword [esp + 0x90]
mov ebx, dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
test ebp, ebp
je 0x50d87b
mov edi, dword [esp + 0x88]
cmp ebp, edi
je 0x50d88b
call ebx
mov ebp, dword [esp + 0x90]
mov edi, dword [esp + 0x88]
mov esi, dword [esp + 0x94]
mov ecx, esi
sub ecx, dword [esp + 0x8c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jne 0x50d944
test edi, edi
jne 0x50d8c6
call ebx
mov edi, dword [esp + 0x88]
test edi, edi
je 0x50d8ca
mov eax, dword [edi]
jmp 0x50d8cc
xor eax, eax
mov ecx, dword [esp + 0x8c]
cmp ecx, dword [eax + 0x10]
jb 0x50d8e1
call ebx
mov edi, dword [esp + 0x88]
mov esi, dword [esp + 0x8c]
test edi, edi
jne 0x50d8f9
call ebx
mov edi, dword [esp + 0x88]
test edi, edi
je 0x50d8fd
mov edi, dword [edi]
jmp 0x50d8ff
xor edi, edi
mov edx, dword [esp + 0x8c]
cmp edx, dword [edi + 0x10]
jb 0x50d90d
call ebx
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x8c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
add esi, 0x1c
push esi
mov esi, dword [esp + 0x84]
push edx
push esi
call eax
mov dword [esp + 0x78], 0
mov dword [esp + 0x14], 1
jmp 0x50dbe3
test ebp, ebp
je 0x50d94c
cmp ebp, edi
je 0x50d955
call ebx
mov esi, dword [esp + 0x94]
sub esi, dword [esp + 0x8c]
mov eax, 0x2aaaaaab
imul esi
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 2
jne 0x50da7d
push 1
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x90]
call fcn.0050d5d0
mov esi, eax
mov eax, dword [esi]
test eax, eax
jne 0x50d999
call ebx
mov eax, dword [esi]
test eax, eax
je 0x50d99d
mov eax, dword [eax]
jmp 0x50d99f
xor eax, eax
mov ecx, dword [esi + 4]
cmp ecx, dword [eax + 0x10]
jb 0x50d9a9
call ebx
mov ebp, dword [esi + 4]
push 1
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x90]
call fcn.0050d5d0
mov esi, eax
mov eax, dword [esi]
test eax, eax
jne 0x50d9cf
call ebx
mov eax, dword [esi]
test eax, eax
je 0x50d9d3
mov eax, dword [eax]
jmp 0x50d9d5
xor eax, eax
mov ecx, dword [esi + 4]
cmp ecx, dword [eax + 0x10]
jb 0x50d9df
call ebx
mov eax, dword [esp + 0x88]
mov esi, dword [esi + 4]
test eax, eax
jne 0x50d9fa
call ebx
mov eax, dword [esp + 0x88]
test eax, eax
je 0x50d9fe
mov ecx, dword [eax]
jmp 0x50da00
xor ecx, ecx
mov edx, dword [esp + 0x8c]
cmp edx, dword [ecx + 0x10]
jb 0x50da15
call ebx
mov eax, dword [esp + 0x88]
mov edi, dword [esp + 0x8c]
test eax, eax
jne 0x50da2d
call ebx
mov eax, dword [esp + 0x88]
test eax, eax
je 0x50da31
mov eax, dword [eax]
jmp 0x50da33
xor eax, eax
mov ecx, dword [esp + 0x8c]
cmp ecx, dword [eax + 0x10]
jb 0x50da41
call ebx
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x8c]
mov edx, dword [ecx]
mov edx, dword [edx + 0x2c]
add ebp, 0x1c
push ebp
push esi
mov esi, dword [esp + 0x88]
add edi, 0x1c
push edi
push eax
push esi
call edx
mov dword [esp + 0x78], 0
mov dword [esp + 0x14], 1
jmp 0x50dbe3
lea ecx, [esp + 0x2c]
call fcn.004f55d0
mov edi, 1
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], edi
call fcn.004f55d0
mov byte [esp + 0x78], 2
mov eax, dword [esp + 0x90]
mov ebp, dword [esp + 0x94]
mov esi, eax
mov dword [esp + 0x14], esi
test eax, eax
jne 0x50db33
call ebx
mov eax, dword [esp + 0x90]
xor ecx, ecx
cmp ebp, dword [ecx + 0xc]
ja 0x50dace
call ebx
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x8c]
push ecx
push eax
mov eax, dword [esp + 0x90]
push edx
push eax
sub ebp, 0x30
call fcn.0050e510
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0x9c]
push ecx
mov ecx, dword [esp + 0x9c]
push edx
push eax
push ecx
call fcn.0050e560
mov eax, dword [esp + 0xa8]
add esp, 0x20
test eax, eax
jne 0x50db2f
call ebx
mov eax, dword [esp + 0x88]
test eax, eax
je 0x50db37
mov ecx, dword [eax]
jmp 0x50db39
mov ecx, dword [eax]
jmp 0x50dac0
xor ecx, ecx
mov eax, dword [esp + 0x8c]
cmp eax, dword [ecx + 0x10]
jb 0x50db4e
call ebx
mov eax, dword [esp + 0x8c]
cmp dword [eax + 0x2c], edi
je 0x50dbfd
mov ecx, dword [eax + 0x28]
cmp dword [ecx], 0
jne 0x50dbfd
mov eax, dword [eax + 0x24]
test eax, eax
je 0x50db82
lea ecx, [ecx + eax*4 - 4]
mov edi, edi
cmp dword [ecx], 0
jne 0x50dbf9
sub eax, edi
sub ecx, 4
test eax, eax
jne 0x50db70
test esi, esi
jne 0x50ddef
call ebx
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x50db95
call ebx
test esi, esi
jne 0x50ddf6
call ebx
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x50dba8
call ebx
mov ecx, dword [esp + 0x84]
mov eax, dword [ecx]
mov esi, dword [esp + 0x80]
mov eax, dword [eax + 0x28]
lea edx, [ebp + 0x1c]
push edx
push ebp
push esi
call eax
lea ecx, [esp + 0x40]
mov dword [esp + 0x14], edi
mov byte [esp + 0x78], 1
call fcn.004d6df0
lea ecx, [esp + 0x2c]
mov byte [esp + 0x78], 0
call fcn.004d6df0
mov eax, esi
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x68
ret
test eax, eax
je 0x50db82
test esi, esi
jne 0x50dc35
call ebx
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x50dc0c
call ebx
lea edx, [esp + 0x40]
lea edi, [ebp + 0x1c]
push edx
call fcn.004f5a90
mov eax, dword [esp + 0x88]
test eax, eax
jne 0x50dc31
call ebx
mov eax, dword [esp + 0x88]
test eax, eax
je 0x50dc39
mov eax, dword [eax]
jmp 0x50dc3b
mov eax, dword [esi]
jmp 0x50dc05
xor eax, eax
mov ecx, dword [esp + 0x8c]
cmp ecx, dword [eax + 0x10]
jb 0x50dc49
call ebx
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x8c]
test eax, eax
jne 0x50dc99
call ebx
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x50dc63
call ebx
add esi, 0x1c
push esi
push edi
lea ecx, [esp + 0x48]
lea esi, [esp + 0x34]
call fcn.004f8200
add esp, 8
call fcn.004fa390
cmp dword [esp + 0x3c], 1
mov edx, eax
je 0x50dc9d
cmp dword [edx + 0x10], 1
je 0x50dd11
mov eax, esi
call fcn.004f86b0
jmp 0x50dcae
mov eax, dword [eax]
jmp 0x50dc5c
cmp dword [edx + 0x10], 1
jne 0x50dd11
lea eax, [esp + 0x2c]
call fcn.004f86b0
neg eax
test eax, eax
jne 0x50dd11
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x50dce1
call ebx
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x50dcc5
call ebx
mov eax, dword [esp + 0x88]
test eax, eax
jne 0x50dcdd
call ebx
mov eax, dword [esp + 0x88]
test eax, eax
je 0x50dce5
mov eax, dword [eax]
jmp 0x50dce7
mov eax, dword [eax]
jmp 0x50dcbe
xor eax, eax
mov edx, dword [esp + 0x8c]
cmp edx, dword [eax + 0x10]
jb 0x50dcf5
call ebx
mov ecx, dword [esp + 0x84]
mov eax, dword [ecx]
mov edx, dword [esp + 0x8c]
mov eax, dword [eax + 0x20]
push ebp
push edx
call eax
jmp 0x50dd97
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x50dd62
call ebx
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x50dd24
call ebx
mov edi, dword [esp + 0x84]
mov edx, dword [edi]
mov edx, dword [edx + 0x28]
lea eax, [esp + 0x2c]
push eax
push ebp
lea ecx, [esp + 0x5c]
push ecx
mov ecx, edi
call edx
mov esi, eax
mov byte [esp + 0x78], 3
mov eax, dword [esp + 0x88]
test eax, eax
jne 0x50dd5e
call ebx
mov eax, dword [esp + 0x88]
test eax, eax
je 0x50dd66
mov eax, dword [eax]
jmp 0x50dd68
mov eax, dword [eax]
jmp 0x50dd1d
xor eax, eax
mov ecx, dword [esp + 0x8c]
cmp ecx, dword [eax + 0x10]
jb 0x50dd76
call ebx
mov edx, dword [edi]
mov eax, dword [esp + 0x8c]
mov edx, dword [edx + 0x20]
push esi
push eax
mov ecx, edi
call edx
lea eax, [esp + 0x54]
push eax
mov byte [esp + 0x7c], 2
call fcn.004d7930
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x8c]
push edx
push eax
push ecx
call fcn.0050e600
mov edx, dword [esp + 0xa4]
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x9c]
push edx
mov edx, dword [esp + 0x9c]
push eax
push ecx
push edx
call fcn.0050e560
mov esi, dword [esp + 0x34]
mov edi, 1
jmp 0x50db14
mov eax, dword [esi]
jmp 0x50db8e
mov eax, dword [esi]
jmp 0x50dba1