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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5948e1
mov eax, dword fs:[0]
push eax
sub esp, 0x240
mov eax, dword [0x61ce74]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov ecx, ebx
mov dword [ebp - 0x22c], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x228], eax
call fcn.0042f990
lea ecx, [ebx + 0x14]
call fcn.0042f990
lea ecx, [ebx + 0x28]
call fcn.0042f990
lea ecx, [ebx + 0x3c]
call fcn.0042f990
lea ecx, [ebx + 0x50]
call fcn.0042f990
lea ecx, [ebx + 0x64]
call fcn.0042f990
lea ecx, [ebx + 0x78]
call fcn.0042f990
lea ecx, [ebx + 0x8c]
call fcn.0042f990
lea ecx, [ebx + 0xa0]
call fcn.0042f990
lea ecx, [ebx + 0xb4]
call fcn.0042f990
lea ecx, [ebx + 0xc8]
call fcn.0042f990
lea ecx, [ebx + 0xdc]
call fcn.0042f990
lea ecx, [ebx + 0xf0]
call fcn.0042f990
lea ecx, [ebx + 0x104]
call fcn.0042f990
lea ecx, [ebx + 0x118]
call fcn.0042f990
lea ecx, [ebx + 0x158]
call fcn.0042f990
lea ecx, [ebx + 0x170]
call fcn.0042f990
lea ecx, [ebx + 0x184]
call fcn.0042f990
lea ecx, [ebx + 0x198]
call fcn.0042f990
lea ecx, [ebx + 0x1ac]
call fcn.0042f990
mov dword [ebx + 0x1c0], 0
mov dword [ebx + 0x1c4], 0
mov dword [ebx + 0x1c8], 0
mov dword [ebx + 0x1cc], 0
mov eax, dword [edi + 0x20]
mov dword [ebx + 0x138], eax
mov eax, dword [edi + 0x24]
mov dword [ebx + 0x13c], eax
mov cl, byte [edi + 0x2e]
mov byte [ebx + 0x130], cl
mov al, byte [edi + 0x2f]
mov byte [ebx + 0x131], al
test cl, cl
jne 0x4183f4
mov eax, dword [edi + 0x30]
lea ecx, [edi + 0x34]
mov esi, dword [ecx]
mov edx, 0x14
mov dword [ebp - 0x208], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x224], eax
mov eax, dword [edi + 0x3c]
mov dword [ebp - 0x214], eax
mov eax, dword [edi + 0x40]
mov dword [ebp - 0x218], eax
mov eax, dword [edi + 0x44]
mov dword [ebp - 0x210], eax
call fcn.00403780
mov ecx, dword [ebp - 0x208]
mov edx, dword [ebp - 0x218]
mov dword [ebp - 0x21c], eax
test ecx, ecx
jne 0x41813f
mov eax, esi
or eax, dword [ebp - 0x224]
jne 0x41813f
mov eax, dword [ebp - 0x214]
or eax, edx
jne 0x41813f
cmp dword [ebp - 0x210], eax
jne 0x41813f
mov eax, dword [edi]
lea edx, [ebp - 0x220]
push edx
push 1
push 0
mov ecx, dword [eax]
push 0
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x417fdf
mov eax, dword [edi]
lea edx, [ebp - 0x20c]
push edx
push 2
push 0
mov ecx, dword [eax]
push 0
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x417fdf
mov esi, dword [ebp - 0x20c]
mov edx, 0x1f4
mov eax, dword [ebp - 0x208]
mov ecx, esi
sub ecx, dword [ebp - 0x220]
mov dword [ebp - 0x210], edx
sbb eax, dword [ebp - 0x21c]
test eax, eax
ja 0x417f64
jb 0x417f56
cmp ecx, edx
jae 0x417f64
mov edx, esi
sub edx, dword [ebp - 0x220]
mov dword [ebp - 0x210], edx
mov ecx, dword [edi]
lea eax, [ebp - 0x20c]
push eax
mov eax, edx
push 2
mov esi, dword [ecx]
neg eax
cdq
push edx
push eax
push ecx
call dword [esi + 0x10]
test eax, eax
jne 0x417fdf
push dword [ebp - 0x210]
lea eax, [ebp - 0x204]
push eax
push dword [edi]
call fcn.0042cf20
add esp, 0xc
test eax, eax
jne 0x417fdf
mov edx, dword [ebp - 0x210]
lea ecx, [edx - 2]
test ecx, ecx
js 0x417fda
jmp 0x417fb0
mov al, byte [ebp + ecx - 0x204]
mov esi, ecx
cmp al, 0x17
jne 0x417fc7
cmp byte [ebp + ecx - 0x203], 6
jmp 0x417fd3
cmp al, 1
jne 0x417fd5
cmp byte [ebp + ecx - 0x203], 4
je 0x417ffd
sub ecx, 1
jns 0x417fb0
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0053d079
mov esp, ebp
pop ebp
ret 0xc
sub edx, ecx
mov eax, edx
mov dword [ebp - 0x210], edx
cdq
mov dword [ebp - 0x214], eax
xor eax, eax
sub esi, dword [ebp - 0x220]
mov dword [ebp - 0x218], edx
sbb eax, dword [ebp - 0x21c]
add esi, dword [ebp - 0x20c]
mov edx, dword [ebp - 0x210]
adc eax, dword [ebp - 0x208]
mov dword [ebp - 0x224], eax
lea eax, [ebp - 0x204]
add ecx, eax
call fcn.00403780
mov ecx, dword [edi]
push 0
push 0
push dword [ebp - 0x21c]
mov edx, dword [ecx]
push dword [ebp - 0x220]
mov dword [ebp - 0x210], eax
push ecx
call dword [edx + 0x10]
test eax, eax
jne 0x417fdf
mov edx, dword [ebp - 0x218]
mov ecx, dword [edi + 0x20]
mov eax, dword [edi + 0x24]
add ecx, 0x20
mov dword [ebx + 0x140], ecx
mov ecx, dword [ebp - 0x214]
adc eax, 0
mov dword [ebx + 0x144], eax
mov eax, ecx
or eax, edx
je 0x4182fa
test edx, edx
ja 0x417fda
jb 0x4180ae
cmp ecx, 0xffffffff
ja 0x417fda
mov edx, dword [ebp - 0x224]
test edx, edx
jl 0x417fda
jg 0x4180c6
test esi, esi
jb 0x417fda
mov eax, dword [edi]
push 0
push 1
push edx
mov ecx, dword [eax]
push esi
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x417fdf
mov dword [ebp - method.CBuffer_unsigned_char_.virtual_0], vtable.CBuffer_unsigned_char_.0
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x230], eax
push dword [ebp - 0x214]
lea ecx, [ebp - 0x238]
mov dword [ebp - 4], eax
call fcn.0041a060
push dword [ebp - 0x214]
push dword [ebp - 0x230]
push dword [edi]
call fcn.0042cf20
add esp, 0xc
mov dword [ebp - 0x21c], eax
test eax, eax
je 0x418150
push dword [ebp - 0x230]
call fcn.0053d0c6
mov eax, dword [ebp - 0x21c]
add esp, 4
jmp 0x417fdf
cmp dword [ebp - 0x21c], ecx
jne 0x4183f9
jmp 0x418073
mov ecx, dword [ebp - 0x214]
mov edx, dword [ebp - 0x218]
add ecx, 0x20
mov eax, edx
adc eax, 0
add dword [edi + 0x48], ecx
adc dword [edi + 0x4c], eax
mov eax, dword [ebp - 0x214]
add eax, esi
mov esi, dword [ebp - 0x230]
mov ecx, esi
adc edx, dword [ebp - 0x224]
add eax, 0x20
mov dword [ebx + 0x1c8], eax
adc edx, 0
mov dword [ebx + 0x1cc], edx
mov edx, dword [ebp - 0x214]
call fcn.00403780
cmp eax, dword [ebp - 0x210]
jne 0x4183fe
mov byte [ebp - 0x208], 0
lea eax, [ebp - 0x238]
mov byte [ebp - 4], 1
push eax
push edi
lea ecx, [ebp - 0x20c]
call fcn.00419fb0
lea ecx, [ebp - 0x24c]
call fcn.00416350
mov ecx, dword [edi + 0x18]
mov byte [ebp - 4], 2
call fcn.00419200
cmp eax, 1
jne 0x4181eb
test edx, edx
je 0x41836c
cmp eax, 0x17
jne 0x4183f9
test edx, edx
jne 0x4183f9
push dword [ebp - 0x228]
lea eax, [ebp - 0x24c]
mov ecx, edi
push dword [ebp - 0x22c]
push eax
lea eax, [ebx + 0x150]
push eax
push dword [ebx + 0x144]
push dword [ebx + 0x140]
call fcn.00417610
mov dword [ebp - 0x21c], eax
test eax, eax
je 0x418297
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 3
mov dword [ebp - method.CObjectVector_class_CBuffer_unsigned_char__.virtual_0], vtable.CObjectVector_class_CBuffer_unsigned_char__.0
call fcn.0042f990
lea ecx, [ebp - 0x24c]
call fcn.0042f920
cmp byte [ebp - 0x208], 0
mov byte [ebp - 4], 4
je 0x418283
mov edi, dword [ebp - 0x20c]
lea ecx, [edi + 4]
call fcn.0042fa30
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x418283
mov eax, dword [edi + 0x10]
mov eax, dword [eax + ecx*4 - 4]
mov dword [edi + 0x18], eax
push esi
call fcn.0053d0c6
mov eax, dword [ebp - 0x21c]
add esp, 4
jmp 0x417fdf
mov eax, dword [ebp - 0x244]
test eax, eax
jne 0x418301
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 5
mov dword [ebp - method.CObjectVector_class_CBuffer_unsigned_char__.virtual_0], vtable.CObjectVector_class_CBuffer_unsigned_char__.0
call fcn.0042f990
lea ecx, [ebp - 0x24c]
call fcn.0042f920
cmp byte [ebp - 0x208], 0
mov byte [ebp - 4], 6
je 0x4182f1
mov edi, dword [ebp - 0x20c]
lea ecx, [edi + 4]
call fcn.0042fa30
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x4182f1
mov eax, dword [edi + 0x10]
mov eax, dword [eax + ecx*4 - 4]
mov dword [edi + 0x18], eax
push esi
call fcn.0053d0c6
add esp, 4
xor eax, eax
jmp 0x417fdf
cmp eax, 1
jg 0x4183f9
cmp byte [ebp - 0x208], 0
je 0x41833f
mov ecx, dword [ebp - 0x20c]
add ecx, 4
call fcn.0042fa30
mov ecx, dword [ebp - 0x20c]
mov edx, dword [ecx + 0xc]
test edx, edx
je 0x418338
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + edx*4 - 4]
mov dword [ecx + 0x18], eax
mov byte [ebp - 0x208], 0
mov eax, dword [ebp - 0x240]
lea ecx, [ebp - 0x20c]
push dword [eax]
push edi
call fcn.00419fb0
mov ecx, dword [edi + 0x18]
call fcn.00419200
cmp eax, 1
jne 0x4183f9
test edx, edx
jne 0x4183f9
push dword [ebp - 0x228]
mov eax, dword [edi + 0x48]
mov ecx, edi
push dword [ebp - 0x22c]
mov dword [ebx + 0x1c0], eax
mov eax, dword [edi + 0x4c]
push ebx
mov dword [ebx + 0x1c4], eax
call fcn.00418510
mov ebx, eax
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 7
mov dword [ebp - method.CObjectVector_class_CBuffer_unsigned_char__.virtual_0], vtable.CObjectVector_class_CBuffer_unsigned_char__.0
call fcn.0042f990
lea ecx, [ebp - 0x24c]
call fcn.0042f920
cmp byte [ebp - 0x208], 0
mov byte [ebp - 4], 8
je 0x4183e4
mov edi, dword [ebp - 0x20c]
lea ecx, [edi + 4]
call fcn.0042fa30
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x4183e4
mov eax, dword [edi + 0x10]
mov eax, dword [eax + ecx*4 - 4]
mov dword [edi + 0x18], eax
push esi
call fcn.0053d0c6
add esp, 4
mov eax, ebx
jmp 0x417fdf
call fcn.0041a0c0
call fcn.0041a0c0
call fcn.0041a0c0
int3