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

Disassembly:
mov eax, 0x1bf8
call fcn.006143b0
push ebx
mov ebx, dword [esp + 0x1c00]
push ebp
push esi
mov eax, dword [ebx + 0x14]
push edi
cmp eax, 0x6000
jb 0x4ddea4
cmp eax, 0x7fff
ja 0x4ddea4
mov eax, dword [ebx + 0x1e]
test eax, eax
jbe 0x4ddea4
cmp eax, 0x1c9c380
ja 0x4ddea4
cmp word [ebx + 0x1c], 0
jbe 0x4ddea4
cmp word [ebx + 0x1a], 0
jbe 0x4ddea4
mov ax, word [ebx + 0x18]
cmp ax, 5
jae 0x4ddea4
and eax, 0xffff
mov ecx, 0xcecc68
push eax
lea eax, [esp + 0x62c]
push eax
call fcn.00521220
mov esi, eax
mov ecx, 0x12
add esi, 8
lea edi, [esp + 0xac]
rep movsd dword es:[edi], dword [esi]
xor ecx, ecx
lea edx, [esp + 0x628]
mov cx, word [ebx + 0x18]
push ecx
push edx
mov ecx, 0xcecc68
movsb byte es:[edi], byte [esi]
call fcn.00521220
xor ecx, ecx
lea edx, [esp + 0x10]
mov cx, word [eax + 0xa]
push edx
mov dword [esp + 0x14], ecx
mov ecx, 0xced988
call fcn.00487810
mov ecx, dword [0xced98c]
mov dword [esp + 0x34], eax
cmp eax, ecx
je 0x4dd385
mov edx, dword [esp + 0x10]
mov esi, dword [eax + 0xc]
cmp edx, esi
jl 0x4dd385
lea eax, [esp + 0x34]
jmp 0x4dd38d
mov dword [esp + 0x24], ecx
lea eax, [esp + 0x24]
mov eax, dword [eax]
cmp eax, ecx
je 0x4ddea4
mov ecx, dword [0xcecdb8]
xor esi, esi
mov si, word [ebx + 0x1c]
add eax, 0x10
sub ecx, 0
mov dword [esp + 0x14], esi
mov dword [esp + 0x24], 0
je 0x4dd6bf
sub ecx, 2
jne 0x4ddea4
mov ecx, dword [0xa4f274]
test ecx, ecx
je 0x4dd3ea
mov ecx, dword [ebx + 0x1e]
lea edx, [esp + 0x358]
push ecx
push eax
push 0x65bca4
push edx
call fcn.006133d6
add esp, 0x10
jmp 0x4dd42f
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x44], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x48], edx
mov dl, byte [eax + 0xc]
lea eax, [esp + 0x44]
push 0
push eax
mov dword [esp + 0x54], ecx
mov byte [esp + 0x58], dl
call fcn.00586da0
mov ecx, dword [ebx + 0x1e]
lea edx, [esp + 0x4c]
push ecx
push edx
lea eax, [esp + 0x368]
push 0x65bc84
push eax
call fcn.006133d6
add esp, 0x18
push 0
push 0
push 0
lea ecx, [esp + 0x364]
push 0
push ecx
call fcn.004cbc90
mov ecx, dword [esp + 0xc0]
mov edx, dword [ebx + 0x1e]
mov esi, dword [0x6d68d0]
and ecx, 0xffff
mov eax, 0x66666667
add esi, edx
imul ecx
sar edx, 2
mov eax, edx
mov ebx, dword [esp + 0xc2]
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov ebp, edx
mov ecx, 0xa
cdq
idiv ecx
mov dword [0x6d68d0], esi
and ebx, 0xffff
mov ecx, 0x4c
lea esi, [esp + 0x23c]
lea edi, [esp + 0x50c]
mov dword [esp + 0x508], ebx
add esp, 0x14
lea eax, [esp + 0x4f4]
mov dword [esp + 0x10], 0
push eax
mov dword [esp + 0x38], edx
xor edx, edx
mov dword [esp + 0x2a6], edx
mov dword [esp + 0x2aa], edx
mov dword [esp + 0x2ae], edx
mov byte [esp + 0x2b2], dl
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x40]
push ecx
mov ecx, 0xced988
call fcn.00474ae0
mov edx, eax
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0x28], ecx
mov ecx, dword [eax + 0x78]
test ecx, ecx
jle 0x4dd6a2
mov eax, dword [esp + 0x34]
lea edx, [ebp + ebp*4]
lea eax, [eax + edx*2]
mov ecx, eax
shl ecx, 4
add ecx, eax
lea edx, [ecx*8 + 0xceda7c]
mov dword [esp + 0x14], edx
xor eax, eax
mov ecx, 0x4c
mov dword [esp + 0x172], eax
lea esi, [esp + 0xf8]
mov dword [esp + 0x176], eax
lea edi, [esp + 0x3c4]
mov dword [esp + 0x17a], eax
mov dword [esp + 0x3c0], ebx
mov byte [esp + 0x17e], al
lea edx, [esp + 0x54]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x3c0]
mov dword [esp + 0x24], 0
push ecx
push edx
mov ecx, 0xced988
call fcn.00474ae0
mov ecx, eax
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ecx, dword [eax + 0x74]
test ecx, ecx
mov dword [esp + 0x38], edx
jle 0x4dd624
mov ebp, dword [esp + 0x14]
xor eax, eax
or ecx, 0xffffffff
mov dword [ebp - 0x10], eax
mov dword [ebp], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], ecx
mov ecx, dword [esp + 0x24]
mov dword [ebp + 0x18], eax
mov dword [ebp + 0x1c], eax
mov dword [esp + 0x172], eax
inc ecx
mov dword [esp + 0x176], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x17a], eax
mov ecx, 0x4c
lea esi, [esp + 0xf8]
lea edi, [esp + 0x3c4]
mov byte [esp + 0x17e], al
mov dword [esp + 0x3c0], ebx
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x3c0]
lea edx, [esp + 0x54]
push ecx
push edx
mov ecx, 0xced988
add ebp, 0x88
call fcn.00474ae0
mov ecx, eax
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x38], edx
mov edx, dword [eax + 0x74]
cmp ecx, edx
jl 0x4dd592
mov edi, dword [esp + 0x14]
xor edx, edx
mov dword [esp + 0x2a2], edx
mov ebp, dword [esp + 0x10]
add edi, 0x550
mov dword [esp + 0x2a6], edx
mov dword [esp + 0x14], edi
mov dword [esp + 0x2aa], edx
mov ecx, 0x4c
lea esi, [esp + 0x228]
lea edi, [esp + 0x4f8]
mov byte [esp + 0x2ae], dl
mov dword [esp + 0x4f4], ebx
lea eax, [esp + 0x4f4]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x3c]
push eax
inc ebp
push ecx
mov ecx, 0xced988
mov dword [esp + 0x18], ebp
call fcn.00474ae0
mov edx, eax
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0x28], ecx
mov ecx, dword [eax + 0x78]
cmp ebp, ecx
jl 0x4dd51f
mov ecx, 0xced988
call fcn.0052d360
mov eax, dword [esp + 0x1c0c]
xor edx, edx
mov dx, word [eax + 0x18]
push edx
jmp 0x4dde9a
mov ecx, dword [0xa4f274]
test ecx, ecx
je 0x4dd6e5
mov ecx, dword [ebx + 0x1e]
lea edx, [esp + 0x358]
push ecx
push eax
push 0x65bc68
push edx
call fcn.006133d6
add esp, 0x10
jmp 0x4dd72a
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x44], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x48], edx
mov dl, byte [eax + 0xc]
lea eax, [esp + 0x44]
push 0
push eax
mov dword [esp + 0x54], ecx
mov byte [esp + 0x58], dl
call fcn.00586da0
mov ecx, dword [ebx + 0x1e]
lea edx, [esp + 0x4c]
push ecx
push edx
lea eax, [esp + 0x368]
push 0x65bc4c
push eax
call fcn.006133d6
add esp, 0x18
push 0
push 0
push 0
lea ecx, [esp + 0x364]
push 0
push ecx
call fcn.004cbc90
mov edx, dword [ebx + 0x1e]
mov ecx, dword [0x6d68d0]
add esp, 0x14
sub ecx, edx
test esi, esi
mov dword [0x6d68d0], ecx
jle 0x4dde93
mov ebp, dword [esp + 0xae]
and ebp, 0xffff
push 1
push ebp
mov ecx, 0xced988
call fcn.0052bec0
mov ecx, eax
cmp ecx, 0xffffffff
je 0x4dde8b
mov eax, 0x66666667
lea esi, [esp + 0xf8]
imul ecx
sar edx, 2
mov eax, edx
lea edi, [esp + 0x680]
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov ebx, edx
mov ecx, 0xa
cdq
idiv ecx
mov ecx, 0x4c
mov dword [esp + 0x67c], ebp
lea eax, [esp + 0x67c]
mov dword [esp + 0x20], ebx
push eax
mov dword [esp + 0x40], 0
mov dword [esp + 0x20], edx
xor edx, edx
mov dword [esp + 0x176], edx
mov dword [esp + 0x17a], edx
mov dword [esp + 0x17e], edx
mov byte [esp + 0x182], dl
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x60]
push ecx
mov ecx, 0xced988
call fcn.00474ae0
mov edx, eax
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0x30], ecx
mov ecx, dword [eax + 0x78]
test ecx, ecx
jle 0x4dde74
mov eax, dword [esp + 0x1c]
lea edx, [ebx + ebx*4]
lea ebx, [eax + edx*2]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x10], ebx
xor ecx, ecx
lea esi, [esp + 0x228]
mov dword [esp + 0x2a2], ecx
lea edi, [esp + 0x7b4]
mov dword [esp + 0x2a6], ecx
mov dword [esp + 0x7b0], ebp
mov dword [esp + 0x2aa], ecx
lea edx, [esp + 0x7b0]
mov byte [esp + 0x2ae], cl
mov ecx, 0x4c
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x64]
push edx
push eax
mov ecx, 0xced988
mov dword [esp + 0x20], 0
call fcn.00474ae0
mov ecx, eax
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ecx, dword [eax + 0x74]
test ecx, ecx
mov dword [esp + 0x30], edx
jle 0x4dddf9
mov ecx, dword [esp + 0x54]
mov eax, ecx
shl eax, 4
add eax, ecx
shl eax, 3
mov dword [esp + 0x34], eax
jmp 0x4dd8b1
mov eax, dword [esp + 0x34]
mov ebx, dword [esp + 0x10]
cmp dword [eax + 0xceda68], ebp
jne 0x4ddb66
xor eax, eax
mov ecx, 0x4c
mov dword [esp + 0xa8e], eax
lea esi, [esp + 0xa14]
mov dword [esp + 0xa92], eax
lea edi, [esp + 0x1138]
mov dword [esp + 0xa96], eax
mov dword [esp + 0x1134], ebp
mov byte [esp + 0xa9a], al
lea edx, [esp + 0x74]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x1134]
push ecx
push edx
mov ecx, 0xced988
call fcn.00474ae0
mov edx, dword [eax]
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + 4]
mov esi, dword [edx + 0x108]
mov dword [esp + 0x30], eax
lea eax, [ebx + ecx]
mov ebx, eax
mov ecx, dword [esp + 0x14]
shl ebx, 4
add ebx, eax
shl ebx, 3
mov eax, dword [ebx + 0xceda6c]
add eax, ecx
cmp eax, esi
jle 0x4dda9d
xor ecx, ecx
lea esi, [esp + 0xb44]
mov dword [esp + 0xbbe], ecx
lea edi, [esp + 0x173c]
mov dword [esp + 0xbc2], ecx
mov dword [esp + 0x1738], ebp
mov dword [esp + 0xbc6], ecx
lea edx, [esp + 0x1738]
mov byte [esp + 0xbca], cl
mov ecx, 0x4c
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x6c]
push edx
push eax
mov ecx, 0xced988
call fcn.00474ae0
mov ecx, eax
lea esi, [esp + 0x1004]
lea edi, [esp + 0x14d4]
mov dword [esp + 0x14d0], ebp
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ecx, dword [esp + 0x34]
mov eax, dword [eax + 0x108]
mov dword [esp + 0x30], edx
mov edx, dword [ecx + 0xceda6c]
mov ecx, 0x4c
sub eax, edx
xor edx, edx
mov dword [esp + 0x107e], edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x1082], edx
lea eax, [esp + 0x14d0]
mov dword [esp + 0x1086], edx
push eax
mov byte [esp + 0x108e], dl
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x80]
push ecx
mov ecx, 0xced988
call fcn.00474ae0
mov edx, eax
lea esi, [esp + 0xc74]
lea edi, [esp + 0x19a4]
mov dword [esp + 0x19a0], ebp
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov edx, dword [eax + 0x108]
mov eax, dword [esp + 0x20]
mov dword [ebx + 0xceda6c], edx
xor edx, edx
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xcee], edx
mov dword [ebx + 0xceda68], ebp
mov dword [esp + 0xcf2], edx
mov dword [ebx + 0xceda70], eax
mov dword [ebx + 0xceda74], ecx
mov dword [esp + 0xcf6], edx
mov ecx, 0x4c
mov byte [esp + 0xcfa], dl
lea eax, [esp + 0x19a0]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0xa4]
push eax
push ecx
mov ecx, 0xced988
call fcn.00474ae0
mov edx, eax
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0x30], ecx
jmp 0x4ddd41
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x20]
xor ecx, ecx
mov dword [ebx + 0xceda6c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xe1e], ecx
mov dword [esp + 0xe22], ecx
mov dword [ebx + 0xceda68], ebp
mov dword [esp + 0xe26], ecx
mov dword [ebx + 0xceda70], edx
mov byte [esp + 0xe2a], cl
mov ecx, 0x4c
lea esi, [esp + 0xda4]
lea edi, [esp + 0x126c]
mov dword [ebx + 0xceda74], eax
mov dword [esp + 0x1268], ebp
lea edx, [esp + 0x1268]
lea eax, [esp + 0x8c]
rep movsd dword es:[edi], dword [esi]
push edx
push eax
mov ecx, 0xced988
call fcn.00474ae0
mov ecx, eax
lea esi, [esp + 0xac]
mov eax, dword [ecx]
mov eax, dword [eax + 0xf0]
mov edx, dword [ecx + 4]
mov dword [ebx + 0xceda7c], eax
lea ebx, [ebx + 0xceda90]
mov ecx, 0x12
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x20]
movsb byte es:[edi], byte [esi]
lea eax, [ecx + edx]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*2]
mov eax, dword [esp + 0x1c]
add edx, eax
mov word [ebx], dx
jmp 0x4ddd81
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
add eax, ebx
mov edx, dword [esp + 0x1c]
mov ebx, eax
lea esi, [esp + 0xed4]
shl ebx, 4
add ebx, eax
xor eax, eax
shl ebx, 3
mov dword [esp + 0xf4e], eax
lea edi, [esp + 0x13a0]
mov dword [esp + 0xf52], eax
mov dword [ebx + 0xceda68], ebp
mov dword [ebx + 0xceda70], ecx
mov dword [esp + 0xf56], eax
mov ecx, 0x4c
mov byte [esp + 0xf5a], al
mov dword [esp + 0x139c], ebp
mov dword [ebx + 0xceda74], edx
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x139c]
lea edx, [esp + 0x9c]
push ecx
push edx
mov ecx, 0xced988
call fcn.00474ae0
mov ecx, eax
lea esi, [esp + 0x8e4]
lea edi, [esp + 0x1608]
mov dword [esp + 0x1604], ebp
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov eax, dword [eax + 0xf0]
xor ecx, ecx
mov dword [esp + 0x30], edx
mov dword [esp + 0x95e], ecx
mov dword [ebx + 0xceda7c], eax
mov dword [esp + 0x962], ecx
lea edx, [esp + 0x1604]
mov dword [esp + 0x966], ecx
lea eax, [esp + 0x84]
mov byte [esp + 0x96a], cl
mov ecx, 0x4c
rep movsd dword es:[edi], dword [esi]
push edx
push eax
mov ecx, 0xced988
call fcn.00474ae0
mov ecx, eax
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x30], edx
mov edx, dword [eax + 0x108]
cmp ecx, edx
jle 0x4ddcd5
xor eax, eax
mov ecx, 0x4c
mov dword [esp + 0x56e], eax
lea esi, [esp + 0x4f4]
mov dword [esp + 0x572], eax
lea edi, [esp + 0x1870]
mov dword [esp + 0x576], eax
mov dword [esp + 0x186c], ebp
mov byte [esp + 0x57a], al
lea edx, [esp + 0x94]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x186c]
push ecx
push edx
mov ecx, 0xced988
call fcn.00474ae0
mov ecx, eax
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov eax, dword [eax + 0x108]
mov dword [esp + 0x30], edx
mov dword [ebx + 0xceda6c], eax
jmp 0x4ddcdb
mov dword [ebx + 0xceda6c], ecx
mov ecx, dword [ebx + 0xceda6c]
xor edx, edx
mov dword [esp + 0x43a], edx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x43e], edx
mov ecx, 0x4c
mov dword [esp + 0x442], edx
lea esi, [esp + 0x3c0]
lea edi, [esp + 0x1ad8]
mov byte [esp + 0x446], dl
mov dword [esp + 0x1ad4], ebp
lea eax, [esp + 0x1ad4]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x44]
push eax
push ecx
mov ecx, 0xced988
call fcn.00474ae0
mov edx, eax
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0x30], ecx
mov edx, dword [eax + 0xf0]
mov eax, dword [esp + 0x3c]
mov dword [ebx + 0xceda7c], edx
lea ebx, [ebx + 0xceda90]
mov ecx, 0x12
lea esi, [esp + 0xac]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x20]
add eax, ecx
movsb byte es:[edi], byte [esi]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x18]
lea ecx, [eax + edx*2]
mov eax, dword [esp + 0x1c]
add ecx, eax
mov word [ebx], cx
mov edi, dword [esp + 0x18]
xor edx, edx
mov dword [esp + 0x2a2], edx
inc edi
mov dword [esp + 0x2a6], edx
mov dword [esp + 0x18], edi
mov dword [esp + 0x2aa], edx
mov ecx, 0x4c
lea esi, [esp + 0x228]
lea edi, [esp + 0x7b4]
mov byte [esp + 0x2ae], dl
mov dword [esp + 0x7b0], ebp
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x7b0]
lea ecx, [esp + 0x64]
push eax
push ecx
mov ecx, 0xced988
call fcn.00474ae0
mov edx, eax
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x30], ecx
mov ecx, dword [eax + 0x74]
cmp edx, ecx
jl 0x4dd8a9
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x3c]
xor eax, eax
mov dword [esp + 0x172], eax
inc ecx
mov dword [esp + 0x176], eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x17a], eax
mov ecx, 0x4c
lea esi, [esp + 0xf8]
lea edi, [esp + 0x680]
mov byte [esp + 0x17e], al
mov dword [esp + 0x67c], ebp
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x67c]
lea edx, [esp + 0x5c]
add ebx, 0xa
push ecx
push edx
mov ecx, 0xced988
mov dword [esp + 0x18], ebx
call fcn.00474ae0
mov ecx, eax
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x30], edx
mov edx, dword [eax + 0x78]
cmp ecx, edx
jl 0x4dd826
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c0c]
sub eax, edx
mov dword [esp + 0x14], eax
mov esi, eax
test esi, esi
jg 0x4dd768
xor eax, eax
mov ax, word [ebx + 0x18]
push eax
mov ecx, 0xcecc68
call fcn.005211d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1bf8
ret