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

Disassembly:
sub esp, 0x78
mov eax, dword [0x3dce28a4]
mov dword [esp + 0x74], eax
mov eax, dword [0x3dce6180]
push ebp
xor ebp, ebp
cmp eax, ebp
je 0x3dcabbd2
push ebx
push esi
push edi
nop
cmp dword [0x3dce5294], ebp
je 0x3dcabbcf
push 0x3dce5288
mov dword [esp + 0x24], ebp
call fcn.3dc70a00
test eax, eax
je 0x3dcab5f8
push ebp
lea eax, [esp + 0x50]
push eax
push 0x3dce5288
call fcn.3dc70ab0
push eax
push 0x3dce5288
call fcn.3dc70680
mov esi, eax
cmp esi, ebp
je 0x3dcab5f8
xor ecx, ecx
mov dword [esp + 0x5e], ecx
mov dword [esp + 0x62], ecx
mov dword [esp + 0x66], ecx
mov dword [esp + 0x6a], ecx
mov dword [esp + 0x6e], ecx
mov dword [esp + 0x72], ecx
push 0x14
mov dword [esp + 0x7a], ecx
lea edx, [esp + 0x60]
push edx
mov dword [esp + 0x82], ecx
push esi
mov dword [esp + 0x8a], ecx
push 0x3dce5288
mov word [esp + 0x6c], bp
mov word [esp + 0x92], cx
call fcn.3dc77940
lea eax, [esp + 0x5c]
push 0x3dcd0bc4
push eax
call fcn.3dcb1f1f
add esp, 8
test eax, eax
je 0x3dcab5a8
push 0xf
push 0x3dce5288
call fcn.3dc70810
test eax, eax
jne 0x3dcab5f8
push esi
push 0x3dce5288
call fcn.3dc70280
test eax, eax
jne 0x3dcab5da
cmp dword [0x3dce5294], ebp
je 0x3dcab5da
push 0x64
push 0x3dce5288
call fcn.3dc6cc40
push esi
push 0x3dce5288
call fcn.3dc70280
test eax, eax
je 0x3dcab5b7
mov ecx, dword [esp + 0x4c]
push ecx
push 0x3dce5288
call fcn.3dc77550
push 0x7d0
push 0x3dce5288
call fcn.3dc6cc40
push 0x3dce5288
call fcn.3dc71430
test eax, eax
je 0x3dcab6a1
cmp dword [0x3dce4ac4], ebp
je 0x3dcab6a1
cmp dword [0x3dce5294], ebp
je 0x3dcab6a1
lea edx, [esp + 0x58]
push edx
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x44]
push ecx
push 0x3dce5288
call fcn.3dc70cc0
push 0x3dce5288
call fcn.3dc78710
push 0x2710
push 0x3dce5288
call fcn.3dc6cc40
push 0x3dce5288
call fcn.3dc71430
test eax, eax
jne 0x3dcab6a1
push 0x3dce5288
call fcn.3dc734c0
mov edx, dword [esp + 0x34]
cmp eax, 0xd2
mov eax, dword [esp + 0x3c]
push ebp
jne 0x3dcab690
push 0x1f4
push ebp
push edx
push eax
push 0x3dce5288
call fcn.3dc78fd0
jmp 0x3dcab6a1
mov ecx, dword [esp + 0x5c]
push ecx
push edx
push eax
push 0x3dce5288
call fcn.3dc7d700
push 0x3dce5288
call fcn.3dc71430
test eax, eax
jne 0x3dcabbb4
cmp dword [0x3dce618c], ebp
je 0x3dcab70a
mov ecx, dword [0x3dce61c0]
push ecx
push 0x3dce5288
call fcn.3dc77080
mov esi, eax
cmp esi, ebp
je 0x3dcab70a
push esi
push 0x3dce5288
call fcn.3dc6cff0
push 0x3dce5288
mov edi, eax
mov ebx, edx
call fcn.3dc6de80
cmp edi, eax
jne 0x3dcab6f3
cmp ebx, edx
je 0x3dcab70a
push esi
push 0x3dce5288
call fcn.3dc6cff0
push edx
push eax
push 0x3dce5288
call fcn.3dc76540
push 0x3dce5288
call fcn.3dc6de80
or eax, edx
je 0x3dcab924
push 0x3dce5288
call fcn.3dc6de80
and eax, ebp
and edx, 0x80000000
or eax, edx
jne 0x3dcab924
cmp dword [0x3dce6190], ebp
je 0x3dcab7d9
lea edx, [esp + 0x20]
push edx
push 0x3dce5288
call fcn.3dc6e150
mov esi, eax
cmp esi, ebp
je 0x3dcab7d9
mov eax, dword [esp + 0x20]
push eax
push 0x3dce5288
call fcn.3dc6de80
push edx
push eax
push esi
push 0x3dce5288
call fcn.3dc6fcc0
cmp eax, ebp
je 0x3dcab7d9
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x30]
push edx
lea ecx, [esp + 0x30]
push ecx
push eax
push 0x3dce5288
call fcn.3dc6f760
test eax, eax
je 0x3dcab7d9
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
push ebp
push edx
push eax
push ecx
push 0x3dce5288
call fcn.3dc78430
fcomp qword [0x3dcd0c18]
fnstsw ax
test ah, 0x41
jne 0x3dcab7d9
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
push edx
push eax
push ecx
push 0x3dce5288
call fcn.3dc78b40
cmp dword [0x3dce6184], ebp
jne 0x3dcab7ed
cmp dword [0x3dce6188], ebp
je 0x3dcab8eb
lea edx, [esp + 0x20]
push edx
push 0x3dce5288
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebp
call fcn.3dc6e150
mov esi, eax
mov eax, dword [esp + 0x20]
push eax
push 0x3dce5288
call fcn.3dc6de80
push edx
push eax
push esi
push 0x3dce5288
call fcn.3dc6fcc0
cmp dword [0x3dce6184], ebp
je 0x3dcab878
cmp eax, ebp
je 0x3dcab878
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
push eax
push 0x3dce5288
call fcn.3dc6f1e0
mov ecx, dword [esp + 0x1c]
cmp ecx, ebp
jle 0x3dcab878
mov eax, dword [esp + 0x18]
imul eax, eax, 0x64
cdq
idiv ecx
cmp eax, dword [0x3dce6194]
jg 0x3dcab878
mov eax, dword [0x3dce61b8]
push eax
push 0x3dce5288
call fcn.3dc7ee00
push eax
push 0x3dce5288
call fcn.3dc7eaf0
mov ecx, dword [esp + 0x20]
push ecx
push 0x3dce5288
call fcn.3dc6de80
push edx
push eax
push esi
push 0x3dce5288
call fcn.3dc6fcc0
cmp dword [0x3dce6188], ebp
je 0x3dcab8eb
cmp eax, ebp
je 0x3dcab8eb
lea edx, [esp + 0x1c]
push edx
lea ecx, [esp + 0x1c]
push ecx
push eax
push 0x3dce5288
call fcn.3dc6f1e0
mov ecx, dword [esp + 0x1c]
cmp ecx, ebp
jle 0x3dcab8eb
mov eax, dword [esp + 0x18]
imul eax, eax, 0x64
cdq
idiv ecx
cmp eax, dword [0x3dce6198]
jg 0x3dcab8eb
mov edx, dword [0x3dce61bc]
push edx
push 0x3dce5288
call fcn.3dc7ee00
push eax
push 0x3dce5288
call fcn.3dc7eaf0
call fcn.3dcaaa80
call fcn.3dcaad90
test eax, eax
je 0x3dcab924
push 0x3dce5288
call fcn.3dc6de80
push ebp
push ebp
push 0x3dce5288
mov esi, eax
mov edi, edx
call fcn.3dc76540
call fcn.3dc83160
push edi
push esi
push 0x3dce5288
call fcn.3dc76540
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x30]
push edx
push 0x3dce5288
call fcn.3dc70cc0
cmp dword [0x3dce619c], ebp
je 0x3dcabbb4
cmp dword [0x3dce61a0], ebp
je 0x3dcabbb4
push 0x3dce5288
call fcn.3dc6de80
mov dword [esp + 0x50], eax
lea eax, [esp + 0x30]
push eax
push 0x3dce5288
mov dword [esp + 0x5c], edx
mov dword [esp + 0x38], ebp
mov dword [esp + 0x40], ebp
mov dword [esp + 0x20], 0x3e8
call fcn.3dc6ebf0
mov ebp, eax
test ebp, ebp
je 0x3dcabb9e
mov ecx, dword [esp + 0x30]
xor eax, eax
test ecx, ecx
mov dword [esp + 0x1c], eax
jbe 0x3dcabb9e
push eax
push ebp
push 0x3dce5288
call fcn.3dc6fc50
mov esi, eax
test esi, esi
je 0x3dcabab7
push esi
push 0x3dce5288
call fcn.3dc722c0
push 0x3dce5288
mov edi, eax
mov ebx, edx
call fcn.3dc71360
cmp edi, eax
jne 0x3dcab9dd
cmp ebx, edx
je 0x3dcabab7
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0x48]
push edx
lea eax, [esp + 0x48]
push eax
push esi
push 0x3dce5288
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
call fcn.3dc72370
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x4c]
push edx
mov edx, dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x4c]
push ecx
push edx
push eax
push 0x3dce5288
call fcn.3dc78580
fild dword [0x3dce61a0]
fcompp
fnstsw ax
test ah, 1
jne 0x3dcabab7
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x18]
push edx
push esi
xor edi, edi
push 0x3dce5288
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], edi
call fcn.3dc723f0
mov ecx, dword [esp + 0x14]
cmp ecx, edi
je 0x3dcabab7
mov edi, dword [esp + 0x10]
test edi, edi
je 0x3dcabab7
mov eax, dword [0x3dce6184]
test eax, eax
je 0x3dcaba8f
mov eax, ecx
imul eax, eax, 0x64
xor edx, edx
div edi
cmp eax, dword [0x3dce6194]
jbe 0x3dcabaa9
mov eax, dword [0x3dce6188]
test eax, eax
je 0x3dcabab7
mov eax, ecx
imul eax, eax, 0x64
xor edx, edx
div edi
cmp eax, dword [0x3dce6198]
ja 0x3dcabab7
cmp eax, dword [esp + 0x18]
jae 0x3dcabab7
mov dword [esp + 0x38], esi
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
inc eax
cmp eax, ecx
mov dword [esp + 0x1c], eax
jb 0x3dcab9a2
mov esi, dword [esp + 0x38]
xor edi, edi
cmp esi, edi
je 0x3dcabb9e
cmp dword [0x3dce5294], edi
je 0x3dcabb9e
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x18]
push ecx
push esi
push 0x3dce5288
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], edi
call fcn.3dc723f0
mov ecx, dword [esp + 0x10]
cmp ecx, edi
je 0x3dcabb42
cmp dword [0x3dce6184], edi
je 0x3dcabb42
mov eax, dword [esp + 0x14]
imul eax, eax, 0x64
xor edx, edx
div ecx
cmp eax, dword [0x3dce6194]
ja 0x3dcabb42
mov edx, dword [0x3dce61b8]
push edx
push 0x3dce5288
call fcn.3dc7ee00
push eax
push 0x3dce5288
call fcn.3dc7eaf0
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x18]
push ecx
push esi
push 0x3dce5288
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], edi
call fcn.3dc723f0
mov ecx, dword [esp + 0x10]
cmp ecx, edi
je 0x3dcabb9e
cmp dword [0x3dce6188], edi
je 0x3dcabb9e
mov eax, dword [esp + 0x14]
imul eax, eax, 0x64
xor edx, edx
div ecx
cmp eax, dword [0x3dce6198]
ja 0x3dcabb9e
mov edx, dword [0x3dce61bc]
push edx
push 0x3dce5288
call fcn.3dc7ee00
push eax
push 0x3dce5288
call fcn.3dc7eaf0
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
push eax
push ecx
push 0x3dce5288
call fcn.3dc76540
xor ebp, ebp
push 0xfa
push 0x3dce5288
call fcn.3dc6cc40
cmp dword [0x3dce6180], ebp
jne 0x3dcab4f0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x78]
pop ebp
call fcn.3dcb135c
add esp, 0x78
ret