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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x34]
cmp eax, dword [ecx + 8]
jbe 0x5cdc09
sub esp, 0xb4
mov ecx, dword [esp + 0xbc]
mov ebx, dword [esp + 0xb8]
mov ebp, dword [ebx]
mov eax, dword [ebx + 4]
cmp eax, 0
jne 0x5cd206
cmp ebp, 0
jne 0x5cd206
xor eax, eax
mov dword [ecx + 0xc], eax
xor eax, eax
mov dword [ecx + 0x10], eax
mov ebx, dword [esp + 0xb8]
movzx ebp, byte [ebx + 0xc]
xchg ebp, eax
mov byte [ecx + 0x14], al
xchg ebp, eax
mov byte [esp + 0xc8], 1
add esp, 0xb4
ret
mov ebx, dword [esp + 0xb8]
mov ebp, dword [ebx + 8]
cmp ebp, 0
jne 0x5cd4e1
mov esi, dword [esp + 0xc0]
cmp esi, 0
je 0x5cdc02
mov edx, dword [esp + 0xb8]
cmp edx, 0
je 0x5cdbfb
mov eax, dword [esi]
mov dword [esp + 0x8c], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x90], eax
mov edi, dword [edx]
mov eax, dword [edx + 4]
mov ebx, dword [esp + 0x90]
cmp ebx, eax
jne 0x5cd4e1
mov ebx, dword [esp + 0x8c]
cmp ebx, edi
jne 0x5cd4e1
mov edi, dword [esi + 8]
mov ebp, dword [edx + 8]
cmp edi, ebp
jne 0x5cd4e1
movzx ebp, byte [esi + 0xc]
mov esi, ebp
movzx ebp, byte [edx + 0xc]
xchg esi, eax
xchg ebp, ebx
cmp al, bl
xchg ebp, ebx
xchg esi, eax
jne 0x5cd4e1
mov edx, dword [esp + 0xc0]
cmp edx, 0
je 0x5cdbf4
mov esi, dword [esp + 0xc4]
cmp esi, 0
je 0x5cdbed
mov eax, dword [edx]
mov dword [esp + 0x8c], eax
mov eax, dword [edx + 4]
mov dword [esp + 0x90], eax
mov edi, dword [esi]
mov eax, dword [esi + 4]
mov ebx, dword [esp + 0x90]
cmp ebx, eax
jne 0x5cd4e1
mov ebx, dword [esp + 0x8c]
cmp ebx, edi
jne 0x5cd4e1
mov eax, dword [edx + 8]
mov ebp, dword [esi + 8]
cmp eax, ebp
jne 0x5cd4e1
movzx ebp, byte [edx + 0xc]
mov edx, ebp
movzx ebp, byte [esi + 0xc]
xchg ebp, eax
cmp dl, al
xchg ebp, eax
jne 0x5cd4e1
lea edi, [esp + 0x9c]
xor eax, eax
call fcn.004637ba
mov dword [esp + 0x38], 0x17
mov ebx, dword [esp + 0xb8]
mov ebp, dword [ebx]
mov edx, dword [ebx + 4]
cmp edx, 0
jb 0x5cd3ef
jbe 0x5cd4d3
mov dword [esp + 0x5c], ebp
mov dword [esp], ebp
mov dword [esp + 0x60], edx
mov dword [esp + 4], edx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0
call fcn.0045b4b0
mov ecx, dword [esp + 0xbc]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x54], eax
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x88], eax
mov eax, 0xa
xor edx, edx
mov esi, dword [esp + 0x54]
mov ebp, edx
or ebp, edi
jne 0x5cd4be
mul esi
mov ebp, eax
mov ebx, edx
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
sub eax, ebp
sbb edx, ebx
add eax, 0x30
adc edx, 0
mov ebx, dword [esp + 0x38]
lea ebp, [esp + 0x9c]
cmp ebx, 0x18
jae 0x5cd4b7
add ebp, ebx
mov byte [ebp], al
mov ebx, dword [esp + 0x38]
dec ebx
mov dword [esp + 0x38], ebx
mov ebp, dword [esp + 0x54]
mov edx, edi
cmp edx, 0
jae 0x5cd338
mov ebx, 0x18
sub ebx, dword [esp + 0x38]
dec ebx
mov dword [esp + 0x34], ebx
xor eax, eax
mov ebp, dword [esp + 0x34]
cmp eax, ebp
jge 0x5cd43a
mov ebx, dword [esp + 0x38]
inc ebx
add ebx, eax
lea ebp, [esp + 0x9c]
cmp ebx, 0x18
jae 0x5cd4b0
add ebp, ebx
movzx ebx, byte [ebp]
mov esi, dword [ecx + 4]
cmp eax, esi
jae 0x5cd4a9
mov esi, dword [ecx]
add esi, eax
mov byte [esi], bl
inc eax
mov ebp, dword [esp + 0x34]
cmp eax, ebp
jl 0x5cd407
mov eax, dword [esp + 0x34]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov dword [ecx + 0x10], eax
mov ebp, dword [ecx + 0xc]
cmp ebp, 0
jle 0x5cd476
mov eax, dword [ecx + 0xc]
dec eax
mov esi, dword [ecx + 4]
cmp eax, esi
jae 0x5cd4a2
mov esi, dword [ecx]
add esi, eax
movzx ebx, byte [esi]
cmp bl, 0x30
jne 0x5cd476
mov eax, dword [ecx + 0xc]
dec eax
mov dword [ecx + 0xc], eax
mov ebp, dword [ecx + 0xc]
cmp ebp, 0
jg 0x5cd450
mov ebp, dword [ecx + 0xc]
cmp ebp, 0
jne 0x5cd483
xor eax, eax
mov dword [ecx + 0x10], eax
mov ebx, dword [esp + 0xb8]
movzx ebp, byte [ebx + 0xc]
xchg ebp, eax
mov byte [ecx + 0x14], al
xchg ebp, eax
mov byte [esp + 0xc8], 1
add esp, 0xb4
ret
call fcn.00435970
ud2
call fcn.00435970
ud2
call fcn.00435970
ud2
call fcn.00435970
ud2
imul edx, esi
mov ebp, eax
imul ebp, edi
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x5cd3a2
cmp ebp, 0
jbe 0x5cd3ef
jmp 0x5cd33e
mov ebx, dword [esp + 0xc4]
mov dword [esp], ebx
call fcn.005cc090
mov edi, dword [esp + 0xc0]
mov esi, dword [esp + 0xc4]
mov ebx, dword [esp + 0xb8]
mov ecx, dword [ebx + 8]
mov ebp, dword [esi + 8]
cmp ecx, ebp
jle 0x5cd56a
mov ebx, dword [esp + 0xb8]
mov edx, dword [ebx]
mov ecx, dword [ebx + 4]
mov ebx, dword [esp + 0xb8]
mov eax, dword [ebx + 8]
mov ebp, dword [esi + 8]
mov dword [esp + 0x50], ebp
mov ebx, dword [esp + 0x50]
mov ebp, eax
sub ebp, ebx
mov eax, edx
mov edx, ecx
mov ecx, ebp
cmp ebp, 0x40
jae 0x5cdbe4
cmp ecx, 0x20
jae 0x5cdbd9
shld edx, eax, cl
shl eax, cl
mov ebx, dword [esp + 0xb8]
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov ebp, dword [esi + 8]
mov ebx, dword [esp + 0xb8]
mov dword [ebx + 8], ebp
mov eax, dword [edi + 8]
mov ebp, dword [esi + 8]
cmp eax, ebp
jle 0x5cd5b3
mov edx, dword [edi]
mov eax, dword [edi + 4]
mov dword [esp + 0x90], eax
mov ecx, dword [edi + 8]
mov ebx, dword [esi + 8]
sub ecx, ebx
mov eax, edx
mov edx, dword [esp + 0x90]
cmp ecx, 0x40
jae 0x5cdbd0
cmp ecx, 0x20
jae 0x5cdbc5
shld edx, eax, cl
shl eax, cl
mov dword [edi], eax
mov dword [edi + 4], edx
mov ebp, dword [esi + 8]
mov dword [edi + 8], ebp
mov dword [esp], edi
mov ebx, dword [esp + 0xb8]
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
call fcn.005cc790
mov ebp, dword [esp + 0xc4]
mov edi, dword [esp + 0xbc]
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x48], ebx
mov eax, dword [ebp]
mov edx, dword [ebp + 4]
add eax, 1
adc edx, 0
mov dword [ebp], eax
mov dword [ebp + 4], edx
mov ebx, dword [esp + 0xc0]
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
sub eax, 1
sbb edx, 0
mov ebx, dword [esp + 0xc0]
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov ebx, dword [ebp + 8]
neg ebx
mov dword [esp + 0x30], ebx
mov eax, dword [ebp]
mov edx, dword [ebp + 4]
mov ecx, dword [esp + 0x30]
cmp ecx, 0x40
jae 0x5cdbbc
cmp ecx, 0x20
jae 0x5cdbb1
shrd eax, edx, cl
shr edx, cl
mov dword [esp + 0x40], eax
mov eax, dword [ebp]
mov dword [esp + 0x84], eax
mov esi, dword [ebp + 4]
mov eax, dword [esp + 0x40]
xor edx, edx
mov ecx, dword [esp + 0x30]
cmp ecx, 0x40
jae 0x5cdba8
cmp ecx, 0x20
jae 0x5cdb9d
shld edx, eax, cl
shl eax, cl
mov ebx, eax
mov ecx, edx
mov eax, dword [esp + 0x84]
mov edx, esi
sub eax, ebx
sbb edx, ecx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], edx
mov eax, dword [ebp]
mov edx, dword [ebp + 4]
mov ebx, dword [esp + 0xc0]
mov esi, dword [ebx]
mov ebx, dword [ebx + 4]
sub eax, esi
sbb edx, ebx
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], edx
mov eax, dword [ebp]
mov edx, dword [ebp + 4]
mov ebx, dword [esp + 0xb8]
mov ebp, dword [ebx]
mov ecx, dword [ebx + 4]
sub eax, ebp
sbb edx, ecx
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], edx
mov dword [esp + 0x3c], 0
xor ecx, ecx
mov esi, 1
xor ebp, ebp
cmp ecx, 0x14
jge 0x5cd726
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x84], ebx
xor ebx, ebx
mov eax, dword [esp + 0x84]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ebx
mov ebx, dword [esp + 0x90]
cmp ebx, ebp
ja 0x5cdb70
jb 0x5cd722
mov ebx, dword [esp + 0x8c]
cmp ebx, esi
jae 0x5cdb70
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x44], 0
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x3c]
cmp ebx, ebp
jge 0x5cd8bb
mov ebx, dword [esp + 0x3c]
sub ebx, dword [esp + 0x44]
dec ebx
mov ebp, 0x8c8be0
cmp ebx, 0x14
jae 0x5cdb69
shl ebx, 3
add ebp, ebx
mov eax, dword [ebp]
mov dword [esp + 0x6c], eax
mov eax, dword [ebp + 4]
mov dword [esp + 0x70], eax
mov ebp, dword [esp + 0x6c]
mov dword [esp + 0x4c], ebp
mov eax, dword [esp + 0x40]
xor edx, edx
div ebp
mov ecx, eax
mov eax, dword [esp + 0x4c]
mov edx, ecx
add edx, 0x30
mov ebp, dword [esp + 0x44]
mov esi, dword [edi + 4]
cmp ebp, esi
jae 0x5cdb62
mov esi, dword [edi]
add esi, ebp
mov byte [esi], dl
mov ebp, dword [esp + 0x40]
mov ebx, dword [esp + 0x6c]
imul ebx, ecx
sub ebp, ebx
mov dword [esp + 0x40], ebp
mov eax, dword [esp + 0x40]
xor edx, edx
mov ecx, dword [esp + 0x30]
cmp ecx, 0x40
jae 0x5cdb59
cmp ecx, 0x20
jae 0x5cdb4e
shld edx, eax, cl
shl eax, cl
add eax, dword [esp + 0x7c]
adc edx, dword [esp + 0x80]
mov esi, eax
mov ecx, edx
cmp edx, dword [esp + 0x98]
ja 0x5cd8a2
jb 0x5cd7f5
cmp esi, dword [esp + 0x94]
jae 0x5cd8a2
mov eax, dword [esp + 0x44]
inc eax
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x3c]
add eax, dword [esp + 0x48]
mov dword [edi + 0x10], eax
mov ebx, dword [esp + 0xb8]
movzx ebp, byte [ebx + 0xc]
xchg ebp, eax
mov byte [edi + 0x14], al
xchg ebp, eax
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x64]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x30]
cmp ecx, 0x40
jae 0x5cd89c
cmp ecx, 0x20
jae 0x5cd894
shld edx, eax, cl
shl eax, cl
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], 2
mov dword [esp + 0x28], 0
call fcn.005cdc20
movzx ebx, byte [esp + 0x2c]
mov byte [esp + 0xc8], bl
add esp, 0xb4
ret
mov edx, eax
shl edx, cl
xor eax, eax
jmp 0x5cd864
xor edx, edx
xor eax, eax
jmp 0x5cd85a
mov ebx, dword [esp + 0x44]
inc ebx
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x3c]
cmp ebx, ebp
jl 0x5cd73e
mov eax, dword [esp + 0x3c]
mov dword [edi + 0xc], eax
mov eax, dword [edi + 0xc]
add eax, dword [esp + 0x48]
mov dword [edi + 0x10], eax
mov ebx, dword [esp + 0xb8]
movzx ebp, byte [ebx + 0xc]
xchg ebp, eax
mov byte [edi + 0x14], al
xchg ebp, eax
mov dword [esp + 0x74], 1
mov dword [esp + 0x78], 0
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x80]
mov esi, 0xa
xor ebx, ebx
mov ebp, edx
or ebp, ebx
jne 0x5cdb39
mul esi
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], edx
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
mov esi, 0xa
xor ebx, ebx
mov ebp, edx
or ebp, ebx
jne 0x5cdb24
mul esi
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], edx
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0x30]
cmp ecx, 0x40
jae 0x5cdb1b
cmp ecx, 0x20
jae 0x5cdb10
shrd eax, edx, cl
shr edx, cl
mov ecx, eax
mov edx, eax
add edx, 0x30
mov ebp, dword [edi + 0xc]
mov esi, dword [edi + 4]
cmp ebp, esi
jae 0x5cdb09
mov esi, dword [edi]
add esi, ebp
mov byte [esi], dl
mov eax, dword [edi + 0xc]
inc eax
mov dword [edi + 0xc], eax
mov esi, dword [esp + 0x7c]
mov ebp, dword [esp + 0x80]
mov eax, ecx
cdq
mov ecx, dword [esp + 0x30]
cmp ecx, 0x40
jae 0x5cdb00
cmp ecx, 0x20
jae 0x5cdaf5
shld edx, eax, cl
shl eax, cl
mov ebx, eax
mov ecx, edx
mov eax, esi
mov edx, ebp
sub eax, ebx
sbb edx, ecx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], edx
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x98]
mov esi, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
mov ebp, edx
or ebp, ebx
jne 0x5cdae0
mul esi
cmp edx, dword [esp + 0x80]
jb 0x5cd8ec
ja 0x5cd9fb
cmp eax, dword [esp + 0x7c]
jbe 0x5cd8ec
mov dword [esp], edi
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov esi, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
mov ebp, edx
or ebp, ebx
jne 0x5cdacb
mul esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x98]
mov esi, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
mov ebp, edx
or ebp, ebx
jne 0x5cdab9
mul esi
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
mov eax, 1
xor edx, edx
mov ecx, dword [esp + 0x30]
cmp ecx, 0x40
jae 0x5cdab3
cmp ecx, 0x20
jae 0x5cdaab
shld edx, eax, cl
shl eax, cl
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
shld edx, eax, 1
shl eax, 1
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
call fcn.005cdc20
movzx ebx, byte [esp + 0x2c]
mov byte [esp + 0xc8], bl
add esp, 0xb4
ret
mov edx, eax
shl edx, cl
xor eax, eax
jmp 0x5cda75
xor edx, edx
xor eax, eax
jmp 0x5cda6b
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x5cda53
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x5cda2d
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x5cd9e2
mov edx, eax
shl edx, cl
xor eax, eax
jmp 0x5cd9a9
xor edx, edx
xor eax, eax
jmp 0x5cd99b
call fcn.00435970
ud2
mov eax, edx
shr eax, cl
xor edx, edx
jmp 0x5cd95e
xor edx, edx
xor eax, eax
jmp 0x5cd950
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x5cd930
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x5cd90a
mov edx, eax
shl edx, cl
xor eax, eax
jmp 0x5cd7ca
xor edx, edx
xor eax, eax
jmp 0x5cd7bc
call fcn.00435970
ud2
call fcn.00435970
ud2
mov eax, esi
mov edx, ebp
mov esi, 0xa
xor ebx, ebx
or ebp, ebx
jne 0x5cdb8b
mul esi
mov esi, eax
mov ebp, edx
inc ecx
jmp 0x5cd6db
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x5cdb81
mov edx, eax
shl edx, cl
xor eax, eax
jmp 0x5cd66c
xor edx, edx
xor eax, eax
jmp 0x5cd65e
mov eax, edx
shr eax, cl
xor edx, edx
jmp 0x5cd63a
xor edx, edx
xor eax, eax
jmp 0x5cd62c
mov edx, eax
shl edx, cl
xor eax, eax
jmp 0x5cd5a8
xor edx, edx
xor eax, eax
jmp 0x5cd59a
mov edx, eax
shl edx, cl
xor eax, eax
jmp 0x5cd551
xor edx, edx
xor eax, eax
jmp 0x5cd543
mov dword [esi], eax
jmp 0x5cd2b5
mov dword [edx], eax
jmp 0x5cd2a5
mov dword [edx], eax
jmp 0x5cd239
mov dword [esi], eax
jmp 0x5cd229
call fcn.004616d0
jmp fcn.005cd1a0