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

Disassembly:
sub esp, 0xbc
mov eax, dword [0x3dce28a4]
mov dword [esp + 0xb8], eax
xor eax, eax
mov dword [esp + 0x42], eax
xor ecx, ecx
mov dword [esp + 0x46], eax
mov dword [esp + 0x6a], ecx
mov dword [esp + 0x4a], eax
mov dword [esp + 0x6e], ecx
mov dword [esp + 0x4e], eax
mov dword [esp + 0x72], ecx
mov dword [esp + 0x52], eax
mov dword [esp + 0x76], ecx
mov dword [esp + 0x56], eax
mov dword [esp + 0x7a], ecx
mov dword [esp + 0x5a], eax
mov dword [esp + 0x7e], ecx
mov dword [esp + 0x5e], eax
mov dword [esp + 0x62], eax
mov dword [esp + 0x82], ecx
push ebx
xor ebx, ebx
mov word [esp + 0x6a], ax
cmp dword [0x3dce5294], ebx
mov dword [esp + 0x8a], ecx
mov dword [esp + 0x8e], ecx
mov word [esp + 0x44], bx
mov word [esp + 0x6c], bx
mov word [esp + 0x92], cx
je 0x3dc852c6
push ebp
push esi
push edi
push 0x3dce5288
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
call fcn.3dc762c0
test eax, eax
je 0x3dc852ab
push ebx
push 0x3dce5288
call fcn.3dc6dc40
test eax, eax
je 0x3dc852ab
cmp dword [0x3dce5294], ebx
je 0x3dc852ab
push 0x3dce5288
call fcn.3dc71430
test eax, eax
jne 0x3dc852ab
push 0x3dce5288
call fcn.3dc70a00
test eax, eax
je 0x3dc84bf9
push ebx
lea edx, [esp + 0x50]
push edx
push 0x3dce5288
call fcn.3dc70ab0
push eax
push 0x3dce5288
call fcn.3dc70680
mov esi, eax
cmp esi, ebx
je 0x3dc84bf9
xor eax, eax
mov dword [esp + 0xa2], eax
mov dword [esp + 0xa6], eax
mov dword [esp + 0xaa], eax
mov dword [esp + 0xae], eax
mov dword [esp + 0xb2], eax
mov dword [esp + 0xb6], eax
push 0x14
mov dword [esp + 0xbe], eax
lea ecx, [esp + 0xa4]
push ecx
mov dword [esp + 0xc6], eax
push esi
mov dword [esp + 0xce], eax
push 0x3dce5288
mov word [esp + 0xb0], bx
mov word [esp + 0xd6], ax
call fcn.3dc77940
lea edx, [esp + 0xa0]
push 0x3dcd0bc4
push edx
call fcn.3dcb1f1f
add esp, 8
test eax, eax
je 0x3dc84ba9
push 0xf
push 0x3dce5288
call fcn.3dc70810
test eax, eax
jne 0x3dc84bf9
push esi
push 0x3dce5288
call fcn.3dc70280
test eax, eax
jne 0x3dc84bdb
cmp dword [0x3dce5294], ebx
je 0x3dc84bdb
push 0x64
push 0x3dce5288
call fcn.3dc6cc40
push esi
push 0x3dce5288
call fcn.3dc70280
test eax, eax
je 0x3dc84bb8
mov eax, dword [esp + 0x4c]
push eax
push 0x3dce5288
call fcn.3dc77550
push 0x7d0
push 0x3dce5288
call fcn.3dc6cc40
call fcn.3dc83160
push 0x3dce5288
call fcn.3dc762c0
test eax, eax
je 0x3dc852ab
push ebx
push 0x3dce5288
call fcn.3dc6dc40
test eax, eax
je 0x3dc852ab
cmp dword [0x3dce5294], ebx
je 0x3dc852ab
push 0x3dce5288
call fcn.3dc71430
test eax, eax
jne 0x3dc852ab
call fcn.3dc80740
call fcn.3dc80ec0
cmp dword [0x3dce53ac], ebx
je 0x3dc84c83
mov esi, dword [0x3dcce358]
call esi
sub eax, dword [0x3dce53b0]
cmp eax, 0xbb8
jbe 0x3dc84c83
push 0x3dce5288
call fcn.3dc75670
push 0x3dce5288
call fcn.3dc7b350
call esi
mov dword [0x3dce53b0], eax
push 0x3dce5288
call fcn.3dc762c0
test eax, eax
je 0x3dc852ab
push ebx
push 0x3dce5288
call fcn.3dc6dc40
test eax, eax
je 0x3dc852ab
cmp dword [0x3dce5294], ebx
je 0x3dc852ab
push 0x3dce5288
call fcn.3dc71430
test eax, eax
jne 0x3dc852ab
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
push 0x3dce5288
call fcn.3dc70cc0
fild dword [0x3dcdf1c0]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x20]
fstp dword [esp]
push ecx
push edx
push eax
call fcn.3dc83f30
fild dword [0x3dcdf1c0]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x20]
fstp dword [esp]
push ecx
push edx
push eax
call fcn.3dc807c0
fild dword [0x3dcdf1c0]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x20]
fstp dword [esp]
push ecx
push edx
push eax
call fcn.3dc80fa0
push 0x3dce5288
call fcn.3dc762c0
test eax, eax
je 0x3dc852ab
push ebx
push 0x3dce5288
call fcn.3dc6dc40
test eax, eax
je 0x3dc852ab
cmp dword [0x3dce5294], ebx
je 0x3dc852ab
push 0x3dce5288
call fcn.3dc71430
test eax, eax
jne 0x3dc852ab
push 0x3dce5288
call fcn.3dc6de80
and eax, ebx
and edx, 0x80000000
or eax, edx
je 0x3dc852ab
mov eax, 1
mov dword [0x3dce53a8], eax
mov dword [0x3dce1c88], eax
mov eax, dword [0x3dce5294]
xor ebp, ebp
cmp eax, ebx
je 0x3dc852a5
jmp 0x3dc84dc0
mov ebp, dword [esp + 0x10]
xor ebx, ebx
lea esp, [esp]
push 0x3dce5288
call fcn.3dc762c0
test eax, eax
je 0x3dc852a5
push ebx
push 0x3dce5288
call fcn.3dc6dc40
test eax, eax
je 0x3dc852a5
push 0x3dce5288
call fcn.3dc6de80
mov edi, eax
mov esi, edx
mov ecx, edi
or ecx, esi
je 0x3dc852a5
mov ecx, esi
and ecx, 0x80000000
xor eax, eax
or eax, ecx
je 0x3dc852a5
lea edx, [esp + 0x28]
push edx
push 0x3dce5288
call fcn.3dc6e250
mov ecx, dword [esp + 0x28]
push ecx
push esi
push edi
push eax
push 0x3dce5288
call fcn.3dc6fcc0
mov ebx, eax
test ebx, ebx
je 0x3dc84e9d
push ebx
push 0x3dce5288
call fcn.3dc6f160
test eax, eax
jne 0x3dc84e9d
push 0x14
lea edx, [esp + 0x54]
push edx
push ebx
push 0x3dce5288
call fcn.3dc6f9f0
lea eax, [esp + 0x50]
push 0x3dccf374
push eax
call fcn.3dcb1603
add esp, 8
test eax, eax
je 0x3dc84e9d
lea ecx, [esp + 0x50]
push 0x3dccf368
push ecx
call fcn.3dcb1603
add esp, 8
test eax, eax
je 0x3dc84e9d
lea edx, [esp + 0x50]
push 0x3dccf358
push edx
call fcn.3dcb1603
add esp, 8
test eax, eax
jne 0x3dc852a3
push ebp
push 0x3b
mov ecx, 0x3dce53b4
call fcn.3dc64130
mov esi, eax
cmp esi, 0xffffffff
jne 0x3dc84ed5
test ebp, ebp
je 0x3dc852a3
push 0
push 0x3b
mov ecx, 0x3dce53b4
mov dword [esp + 0x18], 0
call fcn.3dc64130
mov ebp, dword [esp + 0x10]
mov esi, eax
mov eax, dword [0x3dce5310]
test eax, eax
je 0x3dc84f0b
test ebp, ebp
jne 0x3dc84f0b
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x3dc84f0b
inc esi
push esi
push 0x3b
mov ecx, 0x3dce53b4
mov dword [esp + 0x18], esi
call fcn.3dc64130
mov esi, eax
cmp esi, 0xffffffff
je 0x3dc852a3
mov ebp, dword [esp + 0x10]
mov eax, esi
sub eax, ebp
push eax
push ebp
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x3dce53b4
call fcn.3dc64510
mov edx, dword [eax]
push edx
lea eax, [esp + 0x7c]
push eax
call fcn.3dcb11d1
add esp, 8
lea ecx, [esp + 0x30]
call fcn.3dc62460
mov eax, dword [0x3dce534c]
inc esi
test eax, eax
mov dword [esp + 0x10], esi
je 0x3dc84fa1
push 0x14
lea ecx, [esp + 0x54]
push ecx
push ebx
push 0x3dce5288
call fcn.3dc6f9f0
lea edx, [esp + 0x50]
push 0x3dcd19cc
push edx
call fcn.3dcb1f1f
add esp, 8
test eax, eax
jne 0x3dc84f85
lea eax, [esp + 0x50]
push 0x3dcd19c0
push eax
call fcn.3dcb1f1f
add esp, 8
test eax, eax
je 0x3dc84fa1
mov ecx, dword [0x3dce53d8]
push ecx
push 0x3dce5288
call fcn.3dc7ee00
push eax
push 0x3dce5288
call fcn.3dc7eaf0
mov eax, dword [0x3dce5328]
test eax, eax
je 0x3dc84fe7
push 1
push 0
push 0
push 0
push 0x3dce5288
call fcn.3dc78430
fild dword [0x3dce532c]
fcompp
fnstsw ax
test ah, 1
jne 0x3dc84fe7
mov edx, dword [0x3dce53cc]
push edx
push 0x3dce5288
call fcn.3dc7ee00
push eax
push 0x3dce5288
call fcn.3dc7eaf0
mov eax, dword [0x3dce5330]
test eax, eax
je 0x3dc8502c
push 1
push 0
push 0
push 0
push 0x3dce5288
call fcn.3dc78430
fild dword [0x3dce5334]
fcompp
fnstsw ax
test ah, 1
jne 0x3dc8502c
mov eax, dword [0x3dce53d0]
push eax
push 0x3dce5288
call fcn.3dc7ee00
push eax
push 0x3dce5288
call fcn.3dc7eaf0
mov eax, dword [0x3dce5338]
test eax, eax
je 0x3dc85072
push 1
push 0
push 0
push 0
push 0x3dce5288
call fcn.3dc78430
fild dword [0x3dce533c]
fcompp
fnstsw ax
test ah, 0x41
jp 0x3dc85072
mov ecx, dword [0x3dce53d4]
push ecx
push 0x3dce5288
call fcn.3dc7ee00
push eax
push 0x3dce5288
call fcn.3dc7eaf0
mov eax, dword [0x3dce5314]
test eax, eax
je 0x3dc8521c
push ebx
push 0x3dce5288
mov dword [esp + 0x28], 0
call fcn.3dc6cff0
xor eax, eax
and edx, 0x80000000
or eax, edx
je 0x3dc8521c
lea edx, [esp + 0x24]
push edx
push 0x3dce5288
call fcn.3dc6e250
mov ebp, eax
test ebp, ebp
je 0x3dc851a1
mov eax, dword [esp + 0x24]
xor edi, edi
test eax, eax
jbe 0x3dc851a1
lea esp, [esp]
push edi
push ebp
push 0x3dce5288
call fcn.3dc6fc50
mov esi, eax
test esi, esi
je 0x3dc85194
jmp 0x3dc850f0
push esi
push 0x3dce5288
call fcn.3dc6f160
test eax, eax
je 0x3dc8517d
push esi
push 0x3dce5288
call fcn.3dc6fbd0
test eax, eax
jne 0x3dc8517d
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x48]
push edx
push ebx
push 0x3dce5288
call fcn.3dc6f850
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x4c]
push ecx
lea edx, [esp + 0x4c]
push edx
push esi
push 0x3dce5288
call fcn.3dc6f850
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
push eax
mov eax, dword [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x40]
push edx
mov edx, dword [esp + 0x4c]
push eax
push ecx
push edx
push 0x3dce5288
call fcn.3dc78580
fild dword [0x3dce5314]
fcompp
fnstsw ax
test ah, 1
jne 0x3dc8517d
inc dword [esp + 0x20]
push 0
push esi
push 0x3dce5288
call fcn.3dc6fc50
mov esi, eax
test esi, esi
jne 0x3dc850f0
mov eax, dword [esp + 0x24]
inc edi
cmp edi, eax
jb 0x3dc850d0
mov eax, dword [esp + 0x20]
cmp eax, dword [0x3dce5318]
jl 0x3dc8521c
mov ecx, dword [0x3dce53bc]
push ecx
push 0x3dce5288
call fcn.3dc7ee00
push eax
push 0x3dce5288
call fcn.3dc7eaf0
mov edx, dword [0x3dce53c0]
push edx
push 0x3dce5288
call fcn.3dc7ee00
push eax
push 0x3dce5288
call fcn.3dc7eaf0
mov eax, dword [0x3dce53c4]
push eax
push 0x3dce5288
call fcn.3dc7ee00
push eax
push 0x3dce5288
call fcn.3dc7eaf0
mov ecx, dword [0x3dce53c8]
push ecx
push 0x3dce5288
call fcn.3dc7ee00
push eax
push 0x3dce5288
call fcn.3dc7eaf0
lea edx, [esp + 0x78]
push 0x3dcd18a8
push edx
call fcn.3dcb1603
add esp, 8
test eax, eax
jne 0x3dc8523e
push 0x3dce5288
call fcn.3dc7c390
jmp 0x3dc85258
lea eax, [esp + 0x78]
push eax
push 0x3dce5288
call fcn.3dc7ee00
push eax
push 0x3dce5288
call fcn.3dc7eaf0
mov eax, dword [0x3dce53b4]
mov ecx, dword [eax - 0xc]
test ecx, ecx
jl 0x3dc8528a
lea ecx, [esp + 0x78]
push ecx
push eax
call fcn.3dcb1f1f
add esp, 8
test eax, eax
je 0x3dc8528a
sub eax, dword [0x3dce53b4]
sar eax, 1
test eax, eax
jne 0x3dc8528a
mov dword [esp + 0x2c], 1
push 0x64
push 0x3dce5288
call fcn.3dc6cc40
mov eax, dword [0x3dce5294]
test eax, eax
jne 0x3dc84db6
xor ebx, ebx
mov dword [0x3dce53a8], ebx
push 0x64
push 0x3dce5288
call fcn.3dc6cc40
cmp dword [0x3dce5294], ebx
jne 0x3dc84a80
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0xbc]
xor eax, eax
pop ebx
call fcn.3dcb135c
add esp, 0xbc
ret 4