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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x244
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x14]
mov eax, dword [edi + 8]
push esi
cdq
sub eax, edx
push ebx
sar eax, 1
mov dword [esp + 0x50], eax
call fcn.00488100
mov eax, dword [ebp + 0x24]
lea ecx, [esp + 0x138]
push eax
push edi
lea edx, [esp + 0x110]
push ecx
push edx
call fcn.00489810
xor ecx, ecx
add esp, 0x18
cmp esi, ecx
jne 0x4864f7
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov al, byte [esp + 0x4f]
mov dl, byte [esp + 0x4f]
cmp esi, ecx
mov byte [esp + 0x28], al
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], ecx
mov byte [esp + 0x38], dl
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], ecx
jbe 0x486835
mov edi, dword [ebp + 0x10]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x54], edi
mov dword [esp + 0x18], esi
mov dl, byte [ebx]
mov eax, edx
and eax, 0xff
shr eax, 6
sub eax, 0
je 0x486807
dec eax
je 0x4867b1
dec eax
jne 0x486783
lea eax, [esp + 0x50]
lea ecx, [esp + 0x1d8]
push eax
lea edx, [edi - 0x18]
push ecx
push edx
mov dword [esp + 0x5c], 0
call dword [sym.imp.cdrcrv110.dll_int___stdcall_CRVSplit2SimpleBezier_struct_tagPOINT___struct_tagPOINT___int__]
mov ebx, eax
cmp ebx, 1
je 0x48675b
cmp ebx, 2
jne 0x4865ba
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0x1e0]
push eax
push 1
push ecx
lea ecx, [esp + 0x34]
call fcn.0048b2f0
mov edx, dword [esp + 0x40]
push 0x51fd20
push 1
push edx
lea ecx, [esp + 0x44]
call fcn.0048b540
jmp 0x48675b
cmp ebx, 3
jne 0x48661e
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0x1e0]
push eax
push 1
push ecx
lea ecx, [esp + 0x34]
call fcn.0048b2f0
mov edx, dword [esp + 0x40]
push 0x51fd20
push 1
push edx
lea ecx, [esp + 0x44]
call fcn.0048b540
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0x1e8]
push eax
push 1
push ecx
lea ecx, [esp + 0x34]
call fcn.0048b2f0
mov edx, dword [esp + 0x40]
push 0x51fd20
push 1
push edx
lea ecx, [esp + 0x44]
call fcn.0048b540
jmp 0x48675b
cmp ebx, 4
jne 0x4866bf
mov eax, dword [esp + 0x50]
test eax, eax
je 0x4866bf
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0x1e0]
push eax
push 1
push ecx
lea ecx, [esp + 0x34]
call fcn.0048b2f0
mov edx, dword [esp + 0x40]
push 0x51fd20
push 1
push edx
lea ecx, [esp + 0x44]
call fcn.0048b540
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0x1e8]
push eax
push 1
push ecx
lea ecx, [esp + 0x34]
call fcn.0048b2f0
mov edx, dword [esp + 0x40]
push 0x51fd20
push 1
push edx
lea ecx, [esp + 0x44]
call fcn.0048b540
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0x1f0]
push eax
push 1
push ecx
lea ecx, [esp + 0x34]
call fcn.0048b2f0
mov edx, dword [esp + 0x40]
push 0x51fd20
push 1
push edx
lea ecx, [esp + 0x44]
call fcn.0048b540
jmp 0x48675b
mov edi, 1
lea esi, [esp + 0x1e0]
mov eax, esi
lea ecx, [esp + 0x28]
push eax
mov eax, dword [esp + 0x34]
push 1
push eax
inc edi
add esi, 8
call fcn.0048b2f0
mov ecx, dword [esp + 0x40]
push 0x51fd23
push 1
push ecx
lea ecx, [esp + 0x44]
call fcn.0048b540
mov edx, dword [esp + 0x30]
mov eax, esi
push eax
push 1
push edx
lea ecx, [esp + 0x34]
inc edi
add esi, 8
call fcn.0048b2f0
mov eax, dword [esp + 0x40]
push 0x51fd23
push 1
push eax
lea ecx, [esp + 0x44]
call fcn.0048b540
mov ecx, dword [esp + 0x30]
mov eax, esi
push eax
push 1
push ecx
lea ecx, [esp + 0x34]
inc edi
add esi, 8
call fcn.0048b2f0
mov edx, dword [esp + 0x40]
push 0x51fd21
push 1
push edx
lea ecx, [esp + 0x44]
call fcn.0048b540
cmp edi, ebx
jl 0x4866cb
mov edi, dword [esp + 0x54]
mov eax, dword [esp + 0x24]
test byte [eax], 8
je 0x48677b
mov ecx, dword [esp + 0x3c]
test ecx, ecx
jne 0x486770
xor eax, eax
jmp 0x486776
mov eax, dword [esp + 0x40]
sub eax, ecx
or byte [ecx + eax - 1], 8
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
add edi, 8
inc ebx
dec eax
mov dword [esp + 0x54], edi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x18], eax
jne 0x486536
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x48682e
xor ecx, ecx
jmp 0x486835
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4867f0
mov esi, ecx
sub esi, eax
test esi, 0xfffffff8
je 0x4867f0
mov eax, dword [edi]
mov esi, dword [ecx - 8]
cmp eax, esi
jne 0x4867f0
mov eax, dword [edi + 4]
mov esi, dword [ecx - 4]
cmp eax, esi
jne 0x4867f0
test dl, 8
je 0x486783
mov eax, dword [esp + 0x40]
mov cl, byte [eax - 1]
or cl, 8
mov byte [eax - 1], cl
mov ecx, dword [esp + 0x30]
jmp 0x486783
push edi
push 1
push ecx
lea ecx, [esp + 0x34]
call fcn.0048b2f0
mov ecx, dword [esp + 0x40]
push ebx
push 1
push ecx
jmp 0x48681c
push edi
push 1
push ecx
lea ecx, [esp + 0x34]
call fcn.0048b2f0
mov edx, dword [esp + 0x40]
push ebx
push 1
push edx
lea ecx, [esp + 0x44]
call fcn.0048b540
mov ecx, dword [esp + 0x30]
jmp 0x486783
sub ecx, dword [esp + 0x2c]
sar ecx, 3
mov eax, dword [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x30]
push eax
push ecx
call fcn.00487df0
mov eax, dword [esp + 0x38]
xor edi, edi
add esp, 0xc
cmp eax, edi
je 0x486860
mov edx, dword [esp + 0x30]
sub edx, eax
test edx, 0xfffffff8
jne 0x48688c
mov eax, dword [esp + 0x3c]
push eax
call sub.MFC42.DLL_operatordelete
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x40], edi
push ecx
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], edi
call sub.MFC42.DLL_operatordelete
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 8]
mov ecx, esi
call fcn.00462770
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x3c]
mov dword [ebp + 0x14], ecx
mov dword [esp + 0x18], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x54], edi
lea ebx, [eax - 0x10]
xor edi, edi
cmp eax, edi
je 0x487174
mov edx, dword [esp + 0x30]
sub edx, eax
mov eax, dword [esp + 0x54]
sar edx, 3
cmp eax, edx
jae 0x487174
xor eax, eax
mov al, byte [ecx]
shr eax, 6
sub eax, edi
je 0x4870c9
dec eax
je 0x486ef2
dec eax
jne 0x487158
mov ecx, dword [ebx - 8]
mov edx, dword [ebx]
lea eax, [ebx - 8]
cmp ecx, edx
jne 0x486906
mov edx, dword [ebx - 4]
mov ecx, dword [ebx + 4]
cmp edx, ecx
je 0x486ef2
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0x10]
lea edi, [ebx + 0x10]
cmp ecx, edx
jne 0x486921
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x14]
cmp edx, ecx
je 0x486ef2
push ebx
push eax
lea eax, [esp + 0xa8]
push eax
call fcn.00487210
lea eax, [ebx + 8]
lea ecx, [esp + 0xc4]
push eax
push edi
push ecx
call fcn.00487210
lea edx, [esp + 0xd0]
lea eax, [esp + 0xb8]
push edx
lea ecx, [esp + 0xb4]
push eax
push ecx
call fcn.00487280
add esp, 0x24
test eax, eax
je 0x486ef2
mov eax, dword [esp + 0x98]
mov ecx, dword [edi]
cmp eax, ecx
mov ecx, dword [esp + 0x9c]
jne 0x486987
cmp ecx, dword [ebx + 0x14]
je 0x486ef2
cmp eax, dword [ebx - 8]
jne 0x486995
cmp ecx, dword [ebx - 4]
je 0x486ef2
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4869d6
mov ecx, dword [ebp + 0x20]
lea edx, [esp + 0x130]
lea eax, [esp + 0x100]
push edx
push eax
push ecx
lea edx, [esp + 0x1c]
push ebx
push edx
mov edx, dword [ebp + 0xc]
lea eax, [esp + 0x7c]
xor ecx, ecx
mov cx, word [edx + 4]
push eax
mov eax, dword [esp + 0x60]
push ecx
push eax
push esi
call fcn.004878e0
add esp, 0x24
jmp 0x486a12
mov eax, dword [esp + 0x24]
test eax, eax
je 0x486a0e
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x130]
lea edx, [esp + 0x100]
push ecx
push edx
push eax
mov eax, dword [ebp + 0xc]
xor edx, edx
lea ecx, [esp + 0x1c]
push ebx
mov dx, word [eax + 2]
push ecx
push edx
push esi
call fcn.00487420
add esp, 0x1c
jmp 0x486a12
mov dword [esp + 0x50], ebx
mov edx, dword [esp + 0xa4]
mov eax, dword [esp + 0xa0]
fld qword [esp + 0xa8]
lea ecx, [esp + 0x58]
push ecx
push 0x100
push edx
push eax
sub esp, 8
fchs
fstp qword [esp]
call fcn.004872f0
mov edx, dword [esp + 0xd4]
mov eax, dword [esp + 0xd0]
fld qword [esp + 0xd8]
add esp, 0x18
lea ecx, [esp + 0x60]
fchs
push ecx
push 0x100
push edx
push eax
sub esp, 8
fstp qword [esp]
call fcn.004872f0
add esp, 0x18
lea ecx, [esp + 0x100]
lea edx, [esp + 0x58]
push 2
push ecx
push edx
call sub.CRLUTL110.dll__UTLTransformPoint_12
lea eax, [esp + 0x58]
push 2
push eax
call fcn.0048a9b0
add esp, 8
lea ecx, [esp + 0x130]
lea edx, [esp + 0x58]
push 2
push ecx
push edx
call sub.CRLUTL110.dll__UTLTransformPoint_12
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
add ecx, eax
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x14]
add edx, ecx
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x58]
sub eax, edx
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x5c]
sub ecx, eax
mov eax, dword [edi]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x60]
lea edx, [eax + ecx]
mov ecx, dword [ebx + 0x14]
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x64]
add edx, ecx
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x60]
sub eax, edx
mov edx, dword [esp + 0x64]
sub ecx, edx
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], ecx
lea eax, [esp + 0x70]
lea ecx, [esp + 0xa0]
push eax
lea edx, [esp + 0x1ac]
push ecx
push edx
call fcn.004873b0
lea eax, [esp + 0x94]
lea ecx, [esp + 0xc4]
push eax
lea edx, [esp + 0x1d0]
push ecx
push edx
call fcn.004873b0
lea eax, [esp + 0x90]
lea ecx, [esp + 0xb8]
push eax
lea edx, [esp + 0x1ac]
push ecx
push edx
call fcn.004873b0
lea eax, [esp + 0xa4]
lea ecx, [esp + 0xdc]
push eax
lea edx, [esp + 0x1a0]
push ecx
push edx
call fcn.004873b0
lea eax, [esp + 0x1f0]
lea ecx, [esp + 0x1d8]
push eax
lea edx, [esp + 0x104]
push ecx
push edx
call fcn.00487280
add esp, 0x3c
test eax, eax
je 0x486d24
lea eax, [esp + 0x178]
lea ecx, [esp + 0x190]
push eax
lea edx, [esp + 0xdc]
push ecx
push edx
call fcn.00487280
add esp, 0xc
test eax, eax
je 0x486d24
lea eax, [ebx - 8]
push ebx
push eax
call fcn.004873f0
fstp qword [esp + 0x98]
lea eax, [esp + 0xa0]
push eax
lea eax, [ebx - 8]
push eax
call fcn.004873f0
fstp qword [esp + 0x28]
lea ecx, [esp + 0xe0]
lea edx, [esp + 0x80]
push ecx
push edx
call fcn.004873f0
fld qword [esp + 0x30]
fcomp qword [0x51be98]
add esp, 0x18
fnstsw ax
test ah, 0x40
je 0x486c34
fstp st(0)
mov dword [esp + 0x18], 0
jmp 0x487158
fmul qword [esp + 0x90]
fdiv qword [esp + 0x18]
call sub.MSVCRT.dll__ftol
fld qword [esp + 0xa0]
mov ecx, dword [esp + 0xa8]
push eax
mov eax, dword [esp + 0xb0]
sub esp, 8
fchs
fstp qword [esp]
push eax
lea edx, [esp + 0x80]
push ecx
lea eax, [esp + 0xf4]
push edx
push eax
call fcn.00487360
lea ecx, [esp + 0xf4]
lea edx, [esp + 0x94]
push ecx
push edx
call fcn.004873f0
fmul qword [esp + 0xb4]
add esp, 0x24
fdiv qword [esp + 0x18]
call sub.MSVCRT.dll__ftol
fld qword [esp + 0xa0]
mov ecx, dword [esp + 0xa8]
push eax
mov eax, dword [esp + 0xb0]
sub esp, 8
fchs
fstp qword [esp]
push eax
lea edx, [esp + 0x88]
push ecx
lea eax, [esp + 0xfc]
push edx
push eax
call fcn.00487360
lea eax, [ebx + 8]
push eax
push edi
call fcn.004873f0
fstp qword [esp + 0xb4]
lea ecx, [esp + 0xbc]
push ecx
push edi
call fcn.004873f0
fstp qword [esp + 0x44]
lea edx, [esp + 0x104]
lea eax, [esp + 0xac]
push edx
push eax
call fcn.004873f0
fld qword [esp + 0x4c]
fcomp qword [0x51be98]
add esp, 0x34
fnstsw ax
test ah, 0x40
je 0x486d31
fstp st(0)
mov dword [esp + 0x18], 0
jmp 0x487158
fmul qword [esp + 0x90]
fdiv qword [esp + 0x18]
call sub.MSVCRT.dll__ftol
fld qword [esp + 0xb8]
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0xc0]
push eax
lea eax, [esp + 0x84]
sub esp, 8
fchs
fstp qword [esp]
push ecx
push edx
lea ecx, [esp + 0x104]
push eax
push ecx
call fcn.00487360
lea edx, [esp + 0xec]
lea eax, [esp + 0xa4]
push edx
push eax
call fcn.004873f0
fmul qword [esp + 0xb4]
add esp, 0x24
fdiv qword [esp + 0x18]
call sub.MSVCRT.dll__ftol
fld qword [esp + 0xb8]
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0xc0]
push eax
lea eax, [esp + 0x8c]
sub esp, 8
fchs
fstp qword [esp]
push ecx
push edx
lea ecx, [esp + 0x10c]
push eax
push ecx
call fcn.00487360
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x8c]
add esp, 0x1c
mov ecx, esi
push 1
push edx
push eax
call fcn.004627a0
mov cl, byte [0x51fd23]
mov edx, dword [esp + 0xe4]
mov eax, dword [esp + 0xe0]
push ecx
push edx
push eax
mov ecx, esi
call fcn.00462720
mov cl, byte [0x51fd23]
mov edx, dword [esp + 0xfc]
mov eax, dword [esp + 0xf8]
push ecx
push edx
push eax
mov ecx, esi
call fcn.00462720
mov cl, byte [0x51fd21]
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x88]
push ecx
push edx
push eax
mov ecx, esi
call fcn.00462720
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x80]
push ecx
push edx
mov ecx, esi
call fcn.004627d0
mov al, byte [0x51fd23]
push eax
mov ecx, dword [esp + 0xf8]
mov edx, dword [esp + 0xf4]
push ecx
push edx
mov ecx, esi
call fcn.00462720
mov al, byte [0x51fd23]
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0xe8]
push eax
push ecx
push edx
mov ecx, esi
call fcn.00462720
mov al, byte [0x51fd21]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
push eax
push ecx
push edx
mov ecx, esi
call fcn.00462720
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
push eax
push ecx
mov ecx, esi
call fcn.00462800
mov edx, dword [ebx + 8]
mov dword [esp + 0x18], 1
mov dword [esp + 0x68], edx
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x6c], eax
mov ecx, dword [edi]
mov dword [esp + 0x10], ecx
mov edx, dword [edi + 4]
mov dword [esp + 0x24], 0
mov dword [esp + 0x14], edx
jmp 0x487158
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0x10]
lea edi, [ebx + 0x10]
cmp ecx, eax
jne 0x486f0f
mov ecx, dword [esp + 0x14]
mov eax, dword [ebx + 0x14]
cmp eax, ecx
je 0x487158
mov eax, dword [esp + 0x18]
test eax, eax
je 0x486f50
mov ecx, dword [ebp + 0x20]
lea edx, [esp + 0x130]
lea eax, [esp + 0x100]
push edx
push eax
push ecx
lea edx, [esp + 0x1c]
push edi
push edx
mov edx, dword [ebp + 0xc]
lea eax, [esp + 0x7c]
xor ecx, ecx
mov cx, word [edx + 4]
push eax
mov eax, dword [esp + 0x60]
push ecx
push eax
push esi
call fcn.004878e0
add esp, 0x24
jmp 0x486f8c
mov eax, dword [esp + 0x24]
test eax, eax
je 0x486f88
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x130]
lea edx, [esp + 0x100]
push ecx
push edx
push eax
mov eax, dword [ebp + 0xc]
xor edx, edx
lea ecx, [esp + 0x1c]
push edi
mov dx, word [eax + 2]
push ecx
push edx
push esi
call fcn.00487420
add esp, 0x1c
jmp 0x486f8c
mov dword [esp + 0x50], edi
lea ecx, [esp + 0x10]
push edi
lea edx, [esp + 0x164]
push ecx
push edx
call fcn.00487210
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x16c]
fld qword [esp + 0x174]
add esp, 0xc
lea eax, [esp + 0x58]
fchs
push eax
push 0x100
push ecx
push edx
sub esp, 8
fstp qword [esp]
call fcn.004872f0
add esp, 0x18
lea eax, [esp + 0x100]
lea ecx, [esp + 0x58]
push 1
push eax
push ecx
call sub.CRLUTL110.dll__UTLTransformPoint_12
lea edx, [esp + 0x58]
push 1
push edx
call fcn.0048a9b0
add esp, 8
lea eax, [esp + 0x130]
lea ecx, [esp + 0x58]
push 1
push eax
push ecx
call sub.CRLUTL110.dll__UTLTransformPoint_12
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x10]
add eax, edx
mov edx, dword [esp + 0x58]
push 1
add edx, ecx
push eax
push edx
mov ecx, esi
call fcn.004627a0
mov eax, dword [esp + 0x5c]
mov edx, dword [ebx + 0x14]
mov ecx, dword [esp + 0x58]
add eax, edx
push eax
mov eax, dword [edi]
add ecx, eax
push ecx
mov ecx, esi
call fcn.004627d0
mov edx, dword [ebx + 0x14]
mov ecx, dword [esp + 0x5c]
mov eax, dword [edi]
sub edx, ecx
push edx
mov edx, dword [esp + 0x5c]
sub eax, edx
mov ecx, esi
push eax
call fcn.004627d0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x10]
sub ecx, eax
push ecx
mov ecx, dword [esp + 0x5c]
sub edx, ecx
mov ecx, esi
push edx
call fcn.004627d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x5c]
add ecx, eax
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x58]
add eax, edx
push ecx
push eax
mov ecx, esi
call fcn.00462800
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], edx
mov eax, dword [edi]
mov dword [esp + 0x18], 1
mov dword [esp + 0x10], eax
mov ecx, dword [edi + 4]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x24], 0
jmp 0x487158
cmp dword [esp + 0x18], edi
je 0x487135
mov al, byte [ecx - 1]
lea edx, [esp + 0x130]
test al, 8
lea eax, [esp + 0x100]
push edx
push eax
je 0x487113
mov ecx, dword [ebp + 0x20]
mov edx, dword [esp + 0x58]
push ecx
lea eax, [esp + 0x1c]
push edx
push eax
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x7c]
xor edx, edx
push ecx
mov dx, word [eax + 4]
mov ecx, dword [esp + 0x60]
push edx
push ecx
push esi
call fcn.004878e0
add esp, 0x24
jmp 0x487135
mov ecx, dword [esp + 0x50]
lea edx, [esp + 0x70]
push ecx
push edx
mov edx, dword [ebp + 0xc]
xor ecx, ecx
lea eax, [esp + 0x20]
mov cx, word [edx + 2]
push eax
push ecx
push esi
call fcn.00487420
add esp, 0x1c
mov eax, dword [ebp + 0x14]
mov edx, dword [ebx + 0x10]
mov dword [esp + 0x18], edi
mov cl, byte [eax]
mov dword [esp + 0x10], edx
mov eax, dword [ebx + 0x14]
not cl
shr ecx, 3
and ecx, 1
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], ecx
mov edi, dword [esp + 0x54]
mov ecx, dword [ebp + 0x14]
mov eax, dword [esp + 0x2c]
inc edi
inc ecx
mov dword [esp + 0x54], edi
mov dword [ebp + 0x14], ecx
add ebx, 8
jmp 0x4868b0
cmp dword [esp + 0x18], edi
je 0x4871e0
mov al, byte [ecx - 1]
lea ecx, [esp + 0x130]
lea edx, [esp + 0x100]
push ecx
test al, 8
push edx
je 0x4871be
mov eax, dword [ebp + 0x20]
mov ecx, dword [esp + 0x58]
push eax
lea edx, [esp + 0x1c]
push ecx
push edx
mov edx, dword [ebp + 0xc]
lea eax, [esp + 0x7c]
xor ecx, ecx
push eax
mov cx, word [edx + 4]
mov eax, dword [esp + 0x60]
push ecx
push eax
push esi
call fcn.004878e0
add esp, 0x24
jmp 0x4871e0
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0x70]
push eax
push ecx
mov ecx, dword [ebp + 0xc]
xor eax, eax
lea edx, [esp + 0x20]
mov ax, word [ecx + 2]
push edx
push eax
push esi
call fcn.00487420
add esp, 0x1c
mov edx, dword [esp + 0x3c]
push edx
call sub.MFC42.DLL_operatordelete
mov eax, dword [esp + 0x30]
mov dword [esp + 0x40], edi
push eax
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], edi
call sub.MFC42.DLL_operatordelete
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret