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

Disassembly:
push 0xffffffffffffffff
push 0x3dccc31b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xb8
mov eax, dword [0x3dce28a4]
push ebx
push esi
push edi
xor esi, esi
push 0x3dce5288
mov dword [esp + 0xc4], eax
mov dword [esp + 0x34], esi
call fcn.3dc70a00
test eax, eax
je 0x3dc8a061
push esi
lea eax, [esp + 0x1c]
push eax
push 0x3dce5288
call fcn.3dc70ab0
push eax
push 0x3dce5288
call fcn.3dc70680
mov edi, eax
cmp edi, esi
je 0x3dc8a061
xor ecx, ecx
mov dword [esp + 0x4a], ecx
mov dword [esp + 0x4e], ecx
mov dword [esp + 0x52], ecx
mov dword [esp + 0x56], ecx
mov dword [esp + 0x5a], ecx
mov dword [esp + 0x5e], ecx
push 0x14
mov dword [esp + 0x66], ecx
lea edx, [esp + 0x4c]
push edx
mov dword [esp + 0x6e], ecx
push edi
mov dword [esp + 0x76], ecx
push 0x3dce5288
mov word [esp + 0x58], si
mov word [esp + 0x7e], cx
call fcn.3dc77940
lea eax, [esp + 0x48]
push 0x3dcd0bc4
push eax
call fcn.3dcb1f1f
add esp, 8
test eax, eax
je 0x3dc8a00f
push 0xf
push 0x3dce5288
call fcn.3dc70810
test eax, eax
jne 0x3dc8a061
push edi
push 0x3dce5288
call fcn.3dc70280
test eax, eax
jne 0x3dc8a043
mov edi, edi
cmp dword [0x3dce5294], esi
je 0x3dc8a043
push 0x64
push 0x3dce5288
call fcn.3dc6cc40
push edi
push 0x3dce5288
call fcn.3dc70280
test eax, eax
je 0x3dc8a020
mov ecx, dword [esp + 0x18]
push ecx
push 0x3dce5288
call fcn.3dc77550
push 0x7d0
push 0x3dce5288
call fcn.3dc6cc40
push 0x3dce5288
call fcn.3dc70b60
test eax, eax
mov ebx, dword [0x3dcce358]
je 0x3dc8a161
push esi
lea edx, [esp + 0x1c]
push edx
push 0x3dce5288
call fcn.3dc70b60
push eax
push 0x3dce5288
call fcn.3dc70680
mov edi, eax
cmp edi, esi
je 0x3dc8a161
push edi
push 0x3dce5288
call fcn.3dc70280
test eax, eax
jne 0x3dc8a0d3
lea ecx, [ecx]
cmp dword [0x3dce5294], esi
je 0x3dc8a0d3
push 0x64
push 0x3dce5288
call fcn.3dc6cc40
push edi
push 0x3dce5288
call fcn.3dc70280
test eax, eax
je 0x3dc8a0b0
mov eax, dword [esp + 0x18]
push eax
push 0x3dce5288
call fcn.3dc77550
call ebx
push 0x3dce5288
mov edi, eax
call fcn.3dc70b60
test eax, eax
je 0x3dc8a121
cmp dword [0x3dce60bc], esi
jne 0x3dc8a121
call ebx
sub eax, edi
cmp eax, 0xbb8
jae 0x3dc8a121
push 0x64
push 0x3dce5288
call fcn.3dc6cc40
push 0x3dce5288
call fcn.3dc70b60
test eax, eax
jne 0x3dc8a0f4
push 0x3dce5288
call fcn.3dc70840
test eax, eax
je 0x3dc8a152
nop
cmp dword [0x3dce60bc], esi
jne 0x3dc8a152
push 0x64
push 0x3dce5288
call fcn.3dc6cc40
push 0x3dce5288
call fcn.3dc70840
test eax, eax
jne 0x3dc8a130
push 0x3e8
push 0x3dce5288
call fcn.3dc6cc40
call fcn.3dc83810
push 0x3dce5288
call fcn.3dc71430
test eax, eax
jne 0x3dc8abcb
push 0x3dce5288
call fcn.3dc762c0
test eax, eax
je 0x3dc8abcb
push esi
push 0x3dce5288
call fcn.3dc6dc40
test eax, eax
je 0x3dc8abcb
cmp dword [0x3dce5294], esi
je 0x3dc8abcb
push 0x3dce5288
call fcn.3dc71430
test eax, eax
jne 0x3dc8abcb
call fcn.3dc83160
push 0x3dce5288
call fcn.3dc762c0
test eax, eax
je 0x3dc8abcb
push esi
push 0x3dce5288
call fcn.3dc6dc40
test eax, eax
je 0x3dc8abcb
cmp dword [0x3dce5294], esi
je 0x3dc8abcb
push 0x3dce5288
call fcn.3dc71430
test eax, eax
jne 0x3dc8abcb
call fcn.3dc80740
call fcn.3dc80ec0
cmp dword [0x3dce53ac], esi
je 0x3dc8a23f
call ebx
sub eax, dword [0x3dce53b0]
cmp eax, 0xbb8
jbe 0x3dc8a23f
push 0x3dce5288
call fcn.3dc75670
push 0x3dce5288
call fcn.3dc7b350
call ebx
mov dword [0x3dce53b0], eax
push 0x3dce5288
call fcn.3dc762c0
test eax, eax
je 0x3dc8abcb
push esi
push 0x3dce5288
call fcn.3dc6dc40
test eax, eax
je 0x3dc8abcb
cmp dword [0x3dce5294], esi
je 0x3dc8abcb
push 0x3dce5288
call fcn.3dc71430
test eax, eax
jne 0x3dc8abcb
fld dword [esp + 0xe4]
push ebp
call fcn.3dcb217c
mov ebp, dword [esp + 0xe4]
mov edi, dword [esp + 0xe0]
mov ebx, dword [esp + 0xdc]
push eax
push ebp
push edi
push ebx
mov dword [esp + 0x2c], eax
call fcn.3dc65960
push 0x3dce5288
call fcn.3dc762c0
test eax, eax
je 0x3dc8abca
push esi
push 0x3dce5288
call fcn.3dc6dc40
test eax, eax
je 0x3dc8abca
cmp dword [0x3dce5294], esi
je 0x3dc8abca
push 0x3dce5288
call fcn.3dc71430
test eax, eax
jne 0x3dc8abca
cmp dword [0x3dce5344], esi
je 0x3dc8a36f
cmp dword [0x3dce5348], esi
je 0x3dc8a312
push 0x3dce5288
call fcn.3dc6da20
test eax, eax
je 0x3dc8a36f
push 0x3dcd1e50
push 0x3dce5288
call fcn.3dc7ee00
push eax
push 0x3dce5288
call fcn.3dc7e600
test eax, eax
je 0x3dc8a337
push 0x3dcd1e50
jmp 0x3dc8a35a
push 0x3dcd1e48
push 0x3dce5288
call fcn.3dc7ee00
push eax
push 0x3dce5288
call fcn.3dc7e600
test eax, eax
je 0x3dc8a36f
push 0x3dcd1e48
push 0x3dce5288
call fcn.3dc7ee00
push eax
push 0x3dce5288
call fcn.3dc7eaf0
push 1
push ebp
push edi
push ebx
push 0x3dce5288
call fcn.3dc78430
fcomp dword [esp + 0xe8]
fnstsw ax
test ah, 0x41
jne 0x3dc8a3b7
push 0x3dce5288
call fcn.3dc76df0
test eax, eax
je 0x3dc8a3af
push esi
push 0x1f4
push ebp
push edi
push ebx
push 0x3dce5288
call fcn.3dc78fd0
jmp 0x3dc8a3b7
push ebp
push edi
push ebx
call fcn.3dc80360
push 0x3dce5288
call fcn.3dc762c0
test eax, eax
je 0x3dc8abca
push esi
push 0x3dce5288
call fcn.3dc6dc40
test eax, eax
je 0x3dc8abca
cmp dword [0x3dce5294], esi
je 0x3dc8abca
push 0x3dce5288
call fcn.3dc71430
test eax, eax
jne 0x3dc8abca
mov ecx, dword [0x3dce4b0c]
mov edx, dword [0x3dce4b04]
push ecx
push edx
call fcn.3dc62c30
mov eax, dword [0x3dce4b10]
mov ecx, dword [0x3dce4b08]
push eax
push ecx
call fcn.3dc62c30
mov esi, dword [esp + 0xe8]
push esi
push ebp
push edi
push ebx
call fcn.3dc83f30
push esi
push ebp
push edi
push ebx
call fcn.3dc807c0
push esi
push ebp
push edi
push ebx
call fcn.3dc80fa0
push 0x3dce5288
call fcn.3dc762c0
test eax, eax
je 0x3dc8abca
push 0
push 0x3dce5288
call fcn.3dc6dc40
test eax, eax
je 0x3dc8abca
mov eax, dword [0x3dce5294]
test eax, eax
je 0x3dc8abca
push 0x3dce5288
call fcn.3dc71430
test eax, eax
jne 0x3dc8abca
mov edx, dword [esp + 0xd8]
push edx
lea ecx, [esp + 0x2c]
call fcn.3dc650e0
mov ecx, dword [esp + 0x1c]
push ecx
push ebp
push edi
push ebx
push 0
push 1
push eax
push 0
push 0
mov dword [esp + 0xf4], 0
call fcn.3dc86080
lea ecx, [esp + 0x28]
mov esi, eax
mov dword [esp + 0xd0], 0xffffffff
call fcn.3dc62460
mov eax, dword [0x3dce531c]
test eax, eax
je 0x3dc8a579
test esi, esi
jne 0x3dc8a581
push 0x3dce5288
call fcn.3dc76df0
test eax, eax
je 0x3dc8a544
push 1
push ebp
push edi
push ebx
push 0x3dce5288
call fcn.3dc78430
fcomp qword [0x3dcd0c18]
fnstsw ax
test ah, 0x41
jne 0x3dc8abca
push 0x3dce5288
call fcn.3dc70900
test eax, eax
jne 0x3dc8abca
push ebp
push edi
push ebx
push 0x3dce5288
call fcn.3dc78b40
push 0xc8
push 0x3dce5288
call fcn.3dc6cc40
jmp 0x3dc8abca
push 0
push ebp
push edi
push ebx
push 0x3dce5288
call fcn.3dc78430
fcomp qword [0x3dcd0c18]
fnstsw ax
test ah, 0x41
jne 0x3dc8abca
push 0x3dce5288
call fcn.3dc70900
test eax, eax
jne 0x3dc8abca
push eax
jmp 0x3dc8a524
test esi, esi
je 0x3dc8abca
push esi
push 0x3dce5288
call fcn.3dc6cff0
push edx
push eax
push 0x3dce5288
call fcn.3dc76540
push 0x3dce5288
call fcn.3dc6de80
mov ecx, dword [0x3dce5394]
mov dword [esp + 0x3c], eax
xor eax, eax
cmp ecx, eax
mov dword [esp + 0x40], edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x1c], eax
mov dword [0x3dce53a8], 1
je 0x3dc8a603
mov eax, dword [esp + 0xec]
test eax, eax
jne 0x3dc8a603
push 0x3dce5288
call fcn.3dc787d0
test eax, eax
je 0x3dc8a603
push 0x3dce5288
call fcn.3dc6de80
push edx
push eax
push 0x3dce5288
call fcn.3dc78900
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x30]
push eax
push esi
push 0x3dce5288
call fcn.3dc6f290
mov eax, dword [0x3dce5294]
test eax, eax
je 0x3dc8ab69
push 0x3dce5288
call fcn.3dc762c0
test eax, eax
je 0x3dc8abca
push 0
push 0x3dce5288
call fcn.3dc6dc40
test eax, eax
je 0x3dc8abca
push 0x3dce5288
call fcn.3dc6de80
or eax, edx
je 0x3dc8ab69
push 0x3dce5288
call fcn.3dc6de80
cmp eax, dword [esp + 0x3c]
jne 0x3dc8ab69
cmp edx, dword [esp + 0x40]
jne 0x3dc8ab69
push 0x3dce5288
call fcn.3dc6de80
xor eax, eax
and edx, 0x80000000
or eax, edx
je 0x3dc8abca
lea ecx, [esp + 0x34]
push ecx
push 0x3dce5288
call fcn.3dc6e250
mov edx, dword [esp + 0x34]
push edx
push 0x3dce5288
mov esi, eax
call fcn.3dc6de80
push edx
push eax
push esi
push 0x3dce5288
call fcn.3dc6fcc0
push eax
push 0x3dce5288
mov dword [esp + 0x2c], eax
call fcn.3dc6f160
test eax, eax
je 0x3dc8abca
push 0x3dce5288
call fcn.3dc71430
test eax, eax
jne 0x3dc8abca
mov eax, dword [esp + 0xe8]
push eax
push ebp
push edi
push ebx
call fcn.3dc80fa0
mov ecx, dword [esp + 0x20]
push ecx
push 0x3b
mov ecx, 0x3dce53b4
call fcn.3dc64130
mov esi, eax
cmp esi, 0xffffffff
jne 0x3dc8a737
mov eax, dword [esp + 0x20]
test eax, eax
je 0x3dc8abca
push 0
push 0x3b
mov ecx, 0x3dce53b4
mov dword [esp + 0x28], 0
call fcn.3dc64130
mov esi, eax
mov eax, dword [esp + 0x20]
mov edx, esi
sub edx, eax
push edx
push eax
lea eax, [esp + 0x50]
push eax
mov ecx, 0x3dce53b4
call fcn.3dc64510
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x78]
push edx
call fcn.3dcb11d1
add esp, 8
lea ecx, [esp + 0x48]
call fcn.3dc62460
mov eax, dword [0x3dce5310]
test eax, eax
je 0x3dc8a78c
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x3dc8a78c
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x3dc8a78c
inc esi
mov dword [esp + 0x20], esi
jmp 0x3dc8ab50
mov eax, dword [esp + 0x24]
push eax
inc esi
push 0x3dce5288
mov dword [esp + 0x28], esi
call fcn.3dc6cff0
xor eax, eax
and edx, 0x80000000
or eax, edx
je 0x3dc8a7cc
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x1c]
push eax
push ecx
push 0x3dce5288
call fcn.3dc6f850
jmp 0x3dc8a7ea
lea edx, [esp + 0x18]
push edx
mov edx, dword [esp + 0x28]
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x1c]
push ecx
push edx
push 0x3dce5288
call fcn.3dc6f760
mov eax, dword [0x3dce6154]
test eax, eax
je 0x3dc8a825
mov ecx, 0x3dce61a8
call fcn.3dc6bc10
push eax
push 0x3dce5288
call fcn.3dc7a1d0
test eax, eax
je 0x3dc8a825
mov ecx, 0x3dce61a8
call fcn.3dc6bc10
push eax
push 0x3dce5288
call fcn.3dc77080
test eax, eax
jne 0x3dc8a874
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push ebp
push edi
push ebx
push eax
push ecx
push edx
push 0x3dce5288
call fcn.3dc78580
fcomp dword [esp + 0xe8]
fnstsw ax
test ah, 0x41
je 0x3dc8ab69
push 1
push ebp
push edi
push ebx
push 0x3dce5288
call fcn.3dc78430
fcomp dword [esp + 0xe8]
fnstsw ax
test ah, 0x41
je 0x3dc8ab69
call fcn.3dc80ec0
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x3c]
push ecx
push edx
push 0x3dce5288
call fcn.3dc6f290
mov ecx, dword [esp + 0xec]
test ecx, ecx
mov esi, dword [esp + 0x38]
je 0x3dc8a8bb
mov eax, dword [esp + 0x30]
test eax, eax
je 0x3dc8a8bb
mov eax, esi
imul eax, eax, 0x64
cdq
idiv dword [esp + 0x30]
cmp eax, ecx
jle 0x3dc8abca
mov eax, dword [esp + 0xf4]
test eax, eax
je 0x3dc8a912
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x3dc8a90e
cmp esi, eax
je 0x3dc8a912
mov edx, dword [esp + 0x24]
push edx
push 0x3dce5288
call fcn.3dc6f450
push 0x3dce5288
mov esi, eax
mov edi, edx
call fcn.3dc71360
cmp esi, eax
jne 0x3dc8a8fb
cmp edi, edx
je 0x3dc8abca
push 0
push 0
push 0x3dce5288
call fcn.3dc76540
jmp 0x3dc8abca
mov dword [esp + 0x2c], esi
mov eax, dword [esp + 0xf0]
test eax, eax
je 0x3dc8a94c
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push 1
push eax
push ecx
push edx
push 0x3dce5288
call fcn.3dc78430
fild dword [esp + 0xf0]
fcompp
fnstsw ax
test ah, 1
je 0x3dc8abca
mov eax, dword [0x3dce534c]
test eax, eax
je 0x3dc8a9d4
cmp dword [esp + 0x28], 4
jge 0x3dc8a9d4
mov ecx, dword [esp + 0x24]
push 0x14
lea eax, [esp + 0xa0]
push eax
push ecx
push 0x3dce5288
call fcn.3dc6f9f0
lea edx, [esp + 0x9c]
push 0x3dcd19cc
push edx
call fcn.3dcb1f1f
add esp, 8
test eax, eax
jne 0x3dc8a9a7
lea eax, [esp + 0x9c]
push 0x3dcd19c0
push eax
call fcn.3dcb1f1f
add esp, 8
test eax, eax
je 0x3dc8a9d4
mov ecx, dword [esp + 0xe8]
mov edx, dword [0x3dce53d8]
push ecx
push ebp
push edi
push ebx
push 0
push edx
push 0x3dce5288
call fcn.3dc7ee00
push eax
call fcn.3dc816b0
inc dword [esp + 0x28]
jmp 0x3dc8ab50
mov eax, dword [0x3dce5328]
test eax, eax
je 0x3dc8aa2c
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push 1
push eax
push ecx
push edx
push 0x3dce5288
call fcn.3dc78430
fild dword [0x3dce532c]
fcompp
fnstsw ax
test ah, 1
jne 0x3dc8aa2c
mov esi, dword [esp + 0xe8]
mov eax, dword [0x3dce53cc]
push esi
push ebp
push edi
push ebx
push 0
push eax
push 0x3dce5288
call fcn.3dc7ee00
push eax
call fcn.3dc816b0
jmp 0x3dc8aa33
mov esi, dword [esp + 0xe8]
mov eax, dword [0x3dce5330]
test eax, eax
je 0x3dc8aa83
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push 1
push ecx
push edx
push eax
push 0x3dce5288
call fcn.3dc78430
fild dword [0x3dce5334]
fcompp
fnstsw ax
test ah, 1
jne 0x3dc8aa83
mov ecx, dword [0x3dce53d0]
push esi
push ebp
push edi
push ebx
push 0
push ecx
push 0x3dce5288
call fcn.3dc7ee00
push eax
call fcn.3dc816b0
mov eax, dword [0x3dce5338]
test eax, eax
je 0x3dc8aad3
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push 1
push edx
push eax
push ecx
push 0x3dce5288
call fcn.3dc78430
fild dword [0x3dce533c]
fcompp
fnstsw ax
test ah, 1
jne 0x3dc8aad3
mov edx, dword [0x3dce53d4]
push esi
push ebp
push edi
push ebx
push 0
push edx
push 0x3dce5288
call fcn.3dc7ee00
push eax
call fcn.3dc816b0
mov eax, dword [esp + 0x24]
push 0
push eax
call fcn.3dc81f40
test eax, eax
jne 0x3dc8ab1e
lea ecx, [esp + 0x74]
push 0x3dcd18a8
push ecx
call fcn.3dcb1603
add esp, 8
test eax, eax
push esi
push ebp
push edi
push ebx
push 0
jne 0x3dc8ab06
call fcn.3dc81bb0
jmp 0x3dc8ab1e
lea edx, [esp + 0x88]
push edx
push 0x3dce5288
call fcn.3dc7ee00
push eax
call fcn.3dc816b0
mov eax, dword [0x3dce53b4]
mov ecx, dword [eax - 0xc]
test ecx, ecx
jl 0x3dc8ab50
lea ecx, [esp + 0x74]
push ecx
push eax
call fcn.3dcb1f1f
add esp, 8
test eax, eax
je 0x3dc8ab50
sub eax, dword [0x3dce53b4]
sar eax, 1
test eax, eax
jne 0x3dc8ab50
mov dword [esp + 0x1c], 1
push 0x64
push 0x3dce5288
call fcn.3dc6cc40
mov eax, dword [0x3dce5294]
test eax, eax
jne 0x3dc8a625
mov ecx, dword [0x3dce6080]
xor eax, eax
cmp ecx, eax
mov dword [0x3dce53a8], eax
push eax
je 0x3dc8abab
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov dword [0x3dce6080], eax
mov eax, dword [esp + 0xec]
push eax
mov eax, dword [esp + 0x1c]
push ebp
push edi
push ebx
push ecx
push edx
push eax
call fcn.3dc827f0
mov dword [0x3dce6080], 1
jmp 0x3dc8abca
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x1c]
push ebp
push edi
push ebx
push edx
push eax
push ecx
call fcn.3dc827f0
pop ebp
mov ecx, dword [esp + 0xc4]
pop edi
pop esi
mov dword fs:[0], ecx
mov ecx, dword [esp + 0xb8]
pop ebx
call fcn.3dcb135c
add esp, 0xc4
ret 0x20