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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x14]
cmp eax, dword [ecx + 8]
jbe 0x4ce609
sub esp, 0x94
mov eax, 0
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov byte [esp + 0x22], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
movzx eax, byte [esp + 0xb0]
test al, al
je 0x4ce544
mov ecx, dword [esp + 0x9c]
test ecx, ecx
jne 0x4ce510
mov edx, 1
test dl, dl
jne 0x4ce5e4
lea edx, [0xa7d000]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], 0
mov edx, dword [esp + 0x84]
mov dword [esp + 0x60], edx
mov ebx, dword [esp + 0xa8]
lea ebp, [ecx + ebx]
cmp ebp, 4
jle 0x4ce4f1
cmp ebp, 8
jle 0x4ce4d2
cmp ebp, 0x10
jle 0x4ce4b3
cmp ebp, 0x20
jle 0x4ce494
cmp ebp, 0x40
jle 0x4ce475
cmp ebp, 0x80
jg 0x4ce5cc
lea eax, [0xaef140]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
lea ecx, [eax + 0x24]
mov edx, pe_nt_image_headers32
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ecx
mov esi, dword [esp + 0x60]
test byte [esi], al
mov ebx, dword [0x10fd360]
test ebx, ebx
jne 0x4ce44e
mov edi, eax
call fcn.004612a6
mov ecx, dword [esp + 0x9c]
mov ebx, dword [esp + 0x98]
mov ebp, dword [esp + 0x70]
xor esi, esi
xor edi, edi
xor esi, esi
mov dword [esp + 0x2c], esi
jmp 0x4cde9a
mov dword [esp + 0x44], 0
mov eax, dword [ecx + 8]
shr eax, 0x18
mov byte [esp + 0x44], al
mov eax, dword [ecx + 8]
shr eax, 0x10
mov byte [esp + 0x45], al
mov eax, dword [ecx + 8]
shr eax, 8
mov byte [esp + 0x46], al
mov eax, dword [ecx + 8]
mov byte [esp + 0x47], al
mov dword [esp], edi
lea eax, [esp + 0x44]
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov dword [esp + 0xc], 4
call fcn.004cc670
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x38]
lea esi, [eax + 1]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x2c]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x9c]
mov ebx, dword [esp + 0x98]
mov edx, dword [esp + 0x30]
mov ebp, dword [esp + 0x70]
cmp esi, ecx
jge 0x4cdf43
mov dword [esp + 0x38], esi
lea ebx, [ebx + esi*8]
mov ecx, dword [ebx + 4]
mov ebx, dword [ebx]
lea esi, [0xc92ac0]
cmp esi, ebx
jne 0x4ce5b0
mov ebx, dword [esp + 0x2c]
lea esi, [ebx + 1]
cmp esi, edx
ja 0x4cdefc
mov dword [esp + 0x70], ebp
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], edx
mov edx, dword [0x10fd360]
lea esi, [ebp + ebx*4]
test edx, edx
jne 0x4cdeea
mov dword [ebp + ebx*4], ecx
jmp 0x4cde0e
mov edx, edi
mov edi, esi
mov eax, ecx
call fcn.00460b40
mov edi, edx
jmp 0x4cde0e
mov dword [esp + 0x68], ecx
mov dword [esp + 0x28], edi
lea eax, [0xb83f00]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], esi
call fcn.00447080
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea esi, [eax + 1]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
mov ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
jmp 0x4cdec7
mov dword [esp + 0x34], edx
mov dword [esp + 0x74], ebp
movzx ebx, byte [esp + 0xb0]
test bl, bl
jne 0x4ce41b
mov byte [esp + 0x23], 0
mov byte [esp + 0x23], 0x2e
mov dword [esp], edi
lea eax, [esp + 0x23]
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov dword [esp + 0xc], 1
call fcn.004cc670
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xa4]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x2c]
xor edi, edi
jmp 0x4ce019
mov dword [esp + 0x44], 0
mov edx, dword [ecx + 8]
shr edx, 0x18
mov byte [esp + 0x44], dl
mov edx, dword [ecx + 8]
shr edx, 0x10
mov byte [esp + 0x45], dl
mov edx, dword [ecx + 8]
shr edx, 8
mov byte [esp + 0x46], dl
mov ecx, dword [ecx + 8]
mov byte [esp + 0x47], cl
mov dword [esp], eax
lea eax, [esp + 0x44]
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov dword [esp + 0xc], 4
call fcn.004cc670
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
lea edi, [ecx + 1]
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xa4]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
cmp edi, ecx
jge 0x4ce0ca
lea edx, [edx + edi*8]
mov ecx, dword [edx + 4]
mov dword [esp + 0x64], ecx
mov edx, dword [edx]
lea ecx, [0xc92ac0]
cmp ecx, edx
jne 0x4ce594
mov dword [esp + 0x38], edi
lea edx, [esi + 1]
cmp ebp, edx
jb 0x4ce085
mov dword [esp + 0x70], ebx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], ebp
mov ecx, dword [0x10fd360]
lea edx, [ebx + esi*4]
test ecx, ecx
jne 0x4ce06f
mov ecx, dword [esp + 0x64]
mov dword [ebx + esi*4], ecx
jmp 0x4cdfa7
mov edi, edx
mov esi, eax
mov eax, dword [esp + 0x64]
call fcn.00460b40
mov ecx, eax
mov eax, esi
jmp 0x4cdfa7
mov dword [esp + 0x2c], esi
lea eax, [0xb83f00]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00447080
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea edx, [eax + 1]
mov eax, dword [esp + 0x28]
lea ecx, [0xc92ac0]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x38]
jmp 0x4ce04a
cmp esi, 0x32
jg 0x4ce57c
mov edx, dword [esp + 0x6c]
mov byte [edx + 0xc], 0
mov dword [edx + 8], eax
mov ebx, dword [esp + 0x9c]
mov word [edx + 0x20], bx
mov word [edx + 0x22], cx
movzx ebx, byte [esp + 0xb0]
test bl, bl
je 0x4ce103
or ecx, 0xffff8000
mov word [edx + 0x22], cx
mov dword [esp + 0x40], eax
lea ecx, [0x10e5b08]
mov dword [esp], ecx
lea edx, [0xaa9860]
mov dword [esp + 4], edx
lea ebx, [esp + 0x40]
mov dword [esp + 8], ebx
call fcn.004699a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
movzx edx, byte [esp + 0x14]
test dl, dl
je 0x4ce1c2
lea edx, [0xa76b40]
cmp edx, eax
jne 0x4ce566
mov eax, dword [ecx]
mov dword [esp + 0x80], eax
mov ecx, dword [ecx + 4]
mov dword [esp + 0x38], ecx
xor ebx, ebx
jmp 0x4ce176
mov ebp, dword [esp + 0x34]
lea ebx, [ebp + 1]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x38]
lea edx, [0xa76b40]
cmp ebx, ecx
jge 0x4ce1c2
mov dword [esp + 0x34], ebx
mov ecx, dword [eax + ebx*4]
mov dword [esp + 0x58], ecx
mov edx, dword [esp + 0x6c]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov byte [esp + 8], 1
call fcn.004cd2f0
movzx eax, byte [esp + 0xc]
test al, al
je 0x4ce15e
lea eax, [0xc92ac0]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0xb8], eax
add esp, 0x94
ret
lea eax, [0x10e5b00]
mov dword [esp], eax
call fcn.0046aed0
lea eax, [0xbd5624]
mov dword [esp + 0x90], eax
lea eax, [0x10e5b00]
mov dword [esp + 0x8c], eax
mov byte [esp + 0x22], 1
mov eax, dword [esp + 0x28]
mov dword [esp + 0x3c], eax
lea ecx, [0x10e5b08]
mov dword [esp], ecx
lea ecx, [0xaa9860]
mov dword [esp + 4], ecx
lea ecx, [esp + 0x3c]
mov dword [esp + 8], ecx
call fcn.004699a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
movzx edx, byte [esp + 0x14]
test dl, dl
je 0x4ce2ba
lea edx, [0xa76b40]
cmp edx, eax
jne 0x4ce550
mov eax, dword [ecx]
mov dword [esp + 0x7c], eax
mov ecx, dword [ecx + 4]
mov dword [esp + 0x38], ecx
xor edx, edx
jmp 0x4ce25a
mov ebx, dword [esp + 0x34]
lea edx, [ebx + 1]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x38]
cmp edx, ecx
jge 0x4ce2ba
mov dword [esp + 0x34], edx
mov ecx, dword [eax + edx*4]
mov dword [esp + 0x54], ecx
mov ebx, dword [esp + 0x6c]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov byte [esp + 8], 1
call fcn.004cd2f0
movzx eax, byte [esp + 0xc]
test al, al
je 0x4ce24b
lea eax, [0xc92ac0]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0xb8], eax
mov byte [esp + 0x22], 0
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
call fcn.0046b290
add esp, 0x94
ret
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
lea eax, [0x4d9740]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
call fcn.004ce620
mov eax, dword [esp + 4]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x24], ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004cda10
mov eax, dword [esp + 8]
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x38], ecx
xor edx, edx
jmp 0x4ce327
mov ebx, dword [esp + 0x34]
lea edx, [ebx + 1]
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x38]
cmp ecx, edx
jle 0x4ce396
mov dword [esp + 0x34], edx
mov ecx, dword [eax + edx*4]
mov dword [esp + 0x50], ecx
mov ebx, dword [esp + 0x6c]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov byte [esp + 8], 1
call fcn.004cd2f0
movzx eax, byte [esp + 0xc]
test al, al
je 0x4ce318
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
lea edx, [esp + 0x48]
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], ecx
mov byte [esp + 0x22], 0
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
call fcn.0046b290
add esp, 0x94
ret
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov byte [esp + 0x10], 0
call fcn.004c9360
mov eax, dword [esp + 0x14]
mov dword [esp], eax
call fcn.0045d080
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x6c]
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], 0
mov dword [esp], ecx
mov eax, dword [esp + 0x48]
lea edx, [esp + 0x48]
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], ecx
mov byte [esp + 0x22], 0
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
call fcn.0046b290
add esp, 0x94
ret
mov byte [esp + 0x23], 0
mov byte [esp + 0x23], 0x76
mov dword [esp], edi
lea eax, [esp + 0x23]
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov dword [esp + 0xc], 1
call fcn.004cc670
mov edi, dword [esp + 0x10]
jmp 0x4cdf5b
mov dword [esp + 0x30], edx
lea ecx, [0xb0a7c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.00411810
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x30]
jmp 0x4cdded
lea eax, [0xaef2c0]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
lea ecx, [eax + 0x24]
mov edx, 0x40
jmp 0x4cddca
lea eax, [0xaef200]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
lea ecx, [eax + 0x24]
mov edx, 0x20
jmp 0x4cddca
lea eax, [0xaef1a0]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
lea ecx, [eax + 0x24]
mov edx, 0x10
jmp 0x4cddca
lea eax, [0xaef320]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
lea ecx, [eax + 0x24]
mov edx, 8
jmp 0x4cddca
lea eax, [0xaef260]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
lea ecx, [eax + 0x24]
mov edx, 4
jmp 0x4cddca
mov eax, dword [esp + 0x98]
lea edx, [eax + ecx*8 - 8]
mov ebx, dword [edx]
mov edx, dword [edx + 4]
mov ebx, dword [ebx + 0x50]
mov dword [esp], edx
call ebx
cmp dword [esp + 4], 0x17
setne dl
movzx eax, byte [esp + 0xb0]
mov ecx, dword [esp + 0x9c]
jmp 0x4cdd42
mov ecx, dword [esp + 0x9c]
jmp 0x4cdd4a
mov dword [esp], eax
mov dword [esp + 4], edx
lea eax, [0xaa8d60]
mov dword [esp + 8], eax
call fcn.00409130
mov dword [esp], eax
mov dword [esp + 4], edx
lea eax, [0xaa8d60]
mov dword [esp + 8], eax
call fcn.00409130
lea eax, [0xaa9660]
mov dword [esp], eax
lea eax, [0xc75b98]
mov dword [esp + 4], eax
call fcn.00433120
mov dword [esp], edx
lea eax, [0xb83f00]
mov dword [esp + 4], eax
lea eax, [0xb6e640]
mov dword [esp + 8], eax
call fcn.004091d0
mov dword [esp], ebx
lea eax, [0xb83f00]
mov dword [esp + 4], eax
lea eax, [0xb6e640]
mov dword [esp + 8], eax
call fcn.004091d0
lea eax, [0xaa9660]
mov dword [esp], eax
lea eax, [0xc75b88]
mov dword [esp + 4], eax
call fcn.00433120
lea eax, [0xaa9660]
mov dword [esp], eax
lea eax, [0xc75b80]
mov dword [esp + 4], eax
call fcn.00433120
nop
call fcn.00432820
add esp, 0x94
ret
call fcn.0045f5f0
jmp fcn.004cdcd0